..
En af de store fordele ved en enkel og kraftfuld sprog som Ruby er evnen til at opnå de samme resultater på forskellige måder, nemlig ved hjælp af forskellige syntaktiske konstruktioner for at udskrive det samme output eller til at generere tilsvarende adfærd.
I denne korte artikel præsenterer vi et simpelt eksempel baseret på cykler og ikke kun det ønskede resultat er at skabe et simpelt program, der kan udskrive alle tal i et interval mellem "1" og "10".
En løsning som følgende:
sætter 1,2,3,4,5,6,7,8,9,10synes ved første øjekast meget belejligt, men hvis vores sortiment, var meget større (lad os sige mellem "1" og "100"), så tro om igen, hvad vi leder efter er et script, der skal kun 2 parametre: de oprindelige værdier Afsluttende (minimum og maksimum), at beslaget området.
Hver pemette vi konstruere en startværdi med at stige indtil den når en opsigelse værdi, der sendes som argument til at konstruere, ser vi et eksempel:
. (1 .. 10) Hver do | i | sætter endeSå for hver (hver) værdi i området tilsvarende tal vil blive udskrevet, indtil den når en værdi svarende til, at der er etableret i betingelserne i den anden parameter (i vores tilfælde "10").
Det samme resultat kunne opnås ved at variere den syntaks der bruges leggermanete og "gem" mængden af kode at skrive:
(1 .. 10) Hver. {| I | sætter i}
Returværdien vil blive returneret ved udførelsen af en erklæring ("{| i | sætter i}") vaolore gentages for hver af sortimentet på grundlag af to parametre, der markerer udførelse.
Et alternativ kunne være baseret på brugen af loop, som følger:
for i i (1 .. 10) sætter endeIgen passerede vi den 2-takts parametre, der definerer den vifte af værdier, som variablen "i" kan have steget i de 10 iterationer er nødvendige, hvor værdien "10" repræsenterer den tilstand, der ender cyklussen.
Men vores alternativer er ikke færdig, så lad os se på denne enkle linje kode:
1.upto (10) {| i | sætter i}
op til en metode til objekter, der vil repræsentere numeriske typer, er syntaksen af denne metode alternativ til den, "for" skrive "x.upto (y)" er i virkeligheden svarer til at skrive "for (i = x, x < = y, i + +) {...} ".
Lad os nu se et sidste eksempel:
* Sætter (1 .. 10)Den sidste linje kode forslag er uden tvivl den nemmeste af alle dem, der ses så langt, den simple brug af symbolet "*" giver dig mulighed for at udskrive alle værdier inden for området passerede som et argument uden at ty til den erklæring, lægger enhver cyklus eller til at angive kald enhver metode.
| |
Ruby og Ruby on Rails (Kursus)
Opret software og web-applikationer med Ruby og RoR. Fra 39 €. |