..
Una dels grans avantatges d'un llenguatge senzill i de gran abast com Ruby és la capacitat d'assolir els mateixos resultats en diferents formes, és a dir, l'ús de diferents construccions sintàctiques per imprimir la mateixa sortida o per generar un comportament equivalent.
En aquest breu article es presenta un exemple senzill basat en els cicles i no només el resultat desitjat és el de crear un programa simple que pot imprimir tots els nombres en un rang entre "1" i "10".
Una solució com la següent:
posa 1,2,3,4,5,6,7,8,9,10Semblaria a primera vista molt pràctic, però si el nostre abast, era molt més gran (és a dir, entre "1" i "100"), pensa una altra vegada, el que estem buscant és un script que només necessita dos paràmetres: el valor inicial final (mínim i màxim) que delimiten el rang.
Cada pemette construcció ens donarà un valor inicial d'augmentar fins a arribar a un valor de terminació passa com un argument per a la construcció, veiem un exemple:
. (1 .. 10) Cada fer | i | posa el finalAixí que per a cada valor (cada un) en el rang de la xifra corresponent s'imprimiran fins que s'arriba a un valor igual a l'establert en les condicions establertes pel segon paràmetre (en aquest cas "10").
El mateix resultat podria aconseguir mitjançant la variació de la leggermanete sintaxi que s'utilitzen i "salvar" la quantitat de codi per escriure:
(1 .. 10) cadascun. {| I | puts i}
El valor de retorn serà retornat per l'execució d'una instrucció ("{| i | puts i}") vaolore repeteix per a cadascuna de les gammes en funció de dos paràmetres que marquen l'execució.
Una alternativa podria basar-se en l'ús del bucle, de la següent manera:
for i in (1 .. 10) posa el finalUn cop més vam passar els paràmetres de 2 temps que defineixen el rang de valors que la variable "i" pot haver augmentat en els 10 iteracions necessàries en el valor "10" representa la condició que acaba el cicle.
No obstant això, les nostres alternatives no han acabat, donem una ullada a aquesta simple línia de codi:
1.upto (10) {| i | puts i}
fins que un mètode per als objectes que es representen els tipus numèrics, la sintaxi d'aquest mètode és una alternativa a la de "per" escriure "x.upto (i)" és de fet equivalent al tipus "for (i = x, x < = i, i + +) {...} ".
Ara anem a veure un últim exemple:
* Puts (1 .. 10)L'última línia de la proposta de codi és, sens dubte, més fàcil de tots els vistos fins ara, el simple ús del símbol "*" li permet imprimir tots els valors dins de la gamma passa com un argument sense recórrer a la declaració posa qualsevol cicle o tenir d'especificar la crida de qualsevol mètode.
| |
Ruby i Ruby on Rails (Curs)
Creació d'aplicacions de programari i la web amb Ruby i RoR. A partir de 39 €. |