..
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,10by 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.
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 konecTakž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").
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 konecOpě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}
až 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 + +) {...} ".
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.
| |
Ruby a Ruby on Rails (kurz)
Tvorba software a webových aplikací s Ruby a RoR. Od 39 €. |