..


Sponzorované odkazy

Syntaxe alternativy v Ruby

Článek napsal Claudio Garau

Jednou z velkých výhod jednoduchý a výkonný jazyk Ruby, jako je schopnost dosáhnout stejných výsledků různými způsoby, např. pomocí různých syntaktických konstrukcí pro tisk stejný výstup nebo vytvořit odpovídající chování.

V tomto krátkém článku přinášíme jednoduchý příklad založený na cyklech, a to nejen požadovaný výsledek je vytvořit jednoduchý program, který lze vytisknout všechna čísla v rozsahu mezi "1" a "10".

Řešení, jako je následující:

 



 klade 1,2,3,4,5,6,7,8,9,10

 
by se na první pohled zdát velmi pohodlné, ale pokud naši nabídku, byla mnohem větší (řekněme mezi "1" a "100"), zamyslete se znovu, co hledáme, je skript, který potřebuje pouze 2 parametry: počáteční hodnoty konečné (minimum a maximum), které vymezují rozsah.
Tímto způsobem je možné použít kód být znovu použit pro generování výstupu velmi "velkých".

Each pemette nám počáteční hodnotu zvýšit až do dosažení ukončení hodnotu předán jako argument postavit, vidíme příklad:

 



 . (1 .. 10) Každý do | i |



  



 klade







 konec

 
Takže pro každého (každou), hodnoty v rozsahu odpovídající údaj se bude tisknout, dokud nedosáhne hodnoty rovnající se sídlem ve podmínek stanovených druhý parametr (v tomto případě "10").
Dva svislé pruhy, které uzavírají proměnné přírůstek ("| i |") slouží k vymezení proměnné uvnitř cyklu izoluje od zbytku kódu, protože představuje hodnotu "v sobě".

Stejný výsledek lze dosáhnout tím, že mění syntaxi používané leggermanete a "šetří" množství kódu typu:

 



 (1 .. 10) Každá. {| I | klade i}

 
Návratová hodnota bude vrácena provedením instrukce ("{| I | dá i}") vaolore opakována pro každý z rozsahů na základě dvou parametrů, které označují provedení.

Alternativou by mohlo být založeno na využití pro smyčce, takto:

 



 for i in (1 .. 10)



  



 klade







 konec

 
Opět jsme absolvovali 2-taktní parametry, které definují rozsah hodnot, které proměnné "i" může mít vzrostl během 10 požadovaných opakování, kde hodnota "10" představuje podmínky, že ukončí cyklus.

Ale naše alternativy nejsou hotové, podívejme se na tento jednoduchý řádek kódu:

 



 1.upto (10) {| I | klade i}

 
metodu pro objekty, které budou reprezentovat číselné typy, syntaxe Tato metoda je alternativou k tomu "pro" write "x.upto (y)" je ve skutečnosti odpovídá typu "for (i = x, x < = y, i + +) {...} ".
V praxi se "až" se můžeme dostat stejný výsledek cyklu, aniž by nutně uchylovat k smyčky, výsledkem je úspora, pokud jde o psaní kódu a zdrojů poskytnutých systémem vykonat instrukci.

Nyní se podívejme, poslední příklad:

 



 * Dává (1 .. 10)

 
Poslední řádek kódu návrhu je nepochybně nejjednodušší ze všech, které byly pozorovány zatím, jednoduché použití symbolu "*" umožňuje tisk všech hodnot v rozsahu předána jako argument, aniž by se uchylovat k prohlášení klade každého cyklu, nebo by musel uvádět volání jakékoliv metody.

Ve stejné kategorii ...
E-Learning
Ruby a Ruby on Rails (kurz) Ruby a Ruby on Rails (kurz)
Tvorba software a webových aplikací s Ruby a RoR. Od 39 €.
Sponzorované odkazy