..


Sponzorované odkazy

Syntaxe alternatívy v Ruby

Článok napísal Claudio Gara

Jednou z veľkých výhod jednoduchý a výkonný jazyk Ruby, ako je schopnosť dosiahnuť rovnaké výsledky rôznymi spôsobmi, napríklad pomocou rôznych syntaktických konštrukcií pre tlač rovnaký výstup alebo vytvoriť zodpovedajúce správanie.

V tomto krátkom článku prinášame jednoduchý príklad založený na cykloch, a to nielen požadovaný výsledok je vytvoriť jednoduchý program, ktorý možno vytlačiť všetky čísla v rozsahu medzi "1" a "10".

Riešenia, ako je nasledujúci:

 



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

 
by sa na prvý pohľad zdať veľmi pohodlné, ale ak našu ponuku, bola oveľa väčšia (povedzme medzi "1" a "100"), zamyslite sa znova, čo hľadáme, je skript, ktorý potrebuje len 2 parametre: počiatočné hodnoty konečné (minimum a maximum), ktoré vymedzujú rozsah.
Týmto spôsobom je možné použiť kód byť znovu použitý pre generovanie výstupu veľmi "veľkých".

Each pemette nám počiatočnú hodnotu zvýšiť až do dosiahnutia ukončenia hodnotu odovzdaný ako argument postaviť, vidíme príklad:

 



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



  



 kladie







 koniec

 
Takže pre každého (každú), hodnoty v rozsahu zodpovedajúcej údaj sa bude tlačiť, kým nedosiahne hodnoty rovnajúcu so sídlom vo podmienok stanovených druhý parameter (v tomto prípade "10").
Dva zvislé pruhy, ktoré uzatvárajú premenné prírastok ("| i |") slúži na vymedzenie premennej vo vnútri cyklu izoluje od zvyšku kódu, pretože predstavuje hodnotu "v sebe".

Rovnaký výsledok sa dá dosiahnuť tým, že mení syntax používané leggermanete a "šetrí" množstvo kódu typu:

 



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

 
Návratová hodnota bude vrátená prevedením inštrukcie ("{| I | dá i}") vaolore opakovať pre každý z rozsahov na základe dvoch parametrov, ktoré označujú prevedení.

Alternatívou by mohlo byť založené na využitie pre sláčiky, takto:

 



 for i in (1 .. 10)



  



 kladie







 koniec

 
Opäť sme absolvovali 2-taktný parametre, ktoré definujú rozsah hodnôt, ktoré premennej "i" môže mať vzrástol počas 10 požadovaných opakovaní, kde hodnota "10" predstavuje podmienky, že ukončí cyklus.

Ale naše alternatívy nie sú hotové, pozrime sa na tento jednoduchý riadok kódu:

 



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

 
metódu pre objekty, ktoré budú reprezentovať číselné typy, syntax Táto metóda je alternatívou k tomu "pre" write "x.upto (y)" je v skutočnosti zodpovedá typu "for (i = x, x < = y, i + +) {...} ".
V praxi sa "až" sa môžeme dostať rovnaký výsledok cyklu, bez nevyhnutne uchyľovať k slučky, výsledkom je úspora, pokiaľ ide o písaní kódu a zdrojov poskytnutých systémom vykonať inštrukciu.

Teraz sa pozrime, posledný príklad:

 



 * Dáva (1 .. 10)

 
Posledný riadok kódu návrhu je nepochybne najjednoduchšie zo všetkých, ktoré boli pozorované zatiaľ, jednoduché použitie symbolu "*" umožňuje tlač všetkých hodnôt v rozsahu odovzdaná ako argument bez toho, aby sa uchyľovať k vyhláseniu kladie každého cyklu, alebo by musel uvádzať volanie akékoľvek metódy.

V rovnakej kategórii ...
E-Learning
Ruby a Ruby on Rails (kurz) Ruby a Ruby on Rails (kurz)
Tvorba softvéru a webových aplikácií s Ruby a ROR. Od 39 €.
Sponzorované odkazy