Sådan bruges løkker til rubinprogrammering

Computerprogrammer er ofte nødt til at udføre handlinger et antal gange, ikke kun en gang. For eksempel skal et program, der udskriver al din nye e-mail, udskrive hver e-mail fra en liste og ikke kun en enkelt e-mail. For at gøre dette bruges konstruktioner, der kaldes loops. En løkke vil gentage udsagn inde i det et antal gange, indtil en eller anden betingelse er opfyldt.

Mens løkker

Den første type af disse sløjfer er et stykke tidsløkke. Mens løkker udfører alle erklæringerne indeholdt i dem, så længe den betingede erklæring forbliver sand. I dette eksempel øger løkken løbende værdien af ​​variablen jeg af en. Så længe den betingede erklæring i <10 er sandt, løkken fortsætter med at udføre erklæringen i + = 1 hvilket tilføjer en til variablen.

#! / usr / bin / env ruby
i = 0
mens jeg <10
i + = 1
ende
sætter jeg

Indtil Loops

Indtil løkker er næsten identiske med mens løkker er bortset fra, at de vil sløjfe, så længe den betingede erklæring er falsk. Mens loop-løkken sløjfer, mens betingelsen er sand, indtil loop-loopen

instagram viewer
indtil betingelsen er sand. Dette eksempel er den funktionelle ækvivalent af eksempel-loop-eksemplet, bortset fra at bruge en indtil-loop, indtil i == 10 . Variablen øges med en, indtil dens værdi er lig med ti.

#! / usr / bin / env ruby
i = 0
indtil i == 10
i + = 1
ende
sætter jeg

Slynger "Ruby Way"

Selvom de mere traditionelle mens og indtil løkker er brugt i Ruby-programmer, er lukningsbaserede løkker mere almindelige. Det er ikke engang nødvendigt at forstå, hvad lukninger er, eller hvordan de fungerer for at bruge disse løkker. faktisk betragtes de som normale løkker, selvom de er meget forskellige under hætten.

The Times Loop

Det gange loop kan bruges på en hvilken som helst variabel indeholdende et tal eller bruges på et nummer i sig selv. I det følgende eksempel køres den første sløjfe 3 gange, og den anden sløjfe køres dog mange gange indtastes af brugeren. Hvis du indtaster 12, kører det 12 gange. Du vil bemærke, at timesløjfen bruger prikken syntaks (3. gange gør) snarere end nøgleordssyntaxen, der bruges af mens og indtil loop. Dette har at gøre med, hvordan timesløkken fungerer under hætten, men den bruges på samme måde et stykke tid eller indtil loop anvendes.

#! / usr / bin / env ruby
3. gange gør det
sætter "Dette udskrives 3 gange"
ende
udskriv "Indtast et nummer:"
num = gets.chomp.to_i
antal gange
sætter "Ruby er fantastisk!"
ende

Hver sløjfe

Det hver loop er måske den mest nyttige af alle loops. Hver løkke tager en liste med variabler og kører en blok sætninger for hver af dem. Da næsten alle computereopgaver bruger lister over variabler og skal gøre noget med hver af dem på listen, er hver loop langt den mest almindelige løkke i Rubin kode. Én ting at bemærke her er argumentet til loopens blok af udsagn. Værdien af ​​den aktuelle variabel, som loopen ser på, tildeles variablenavnet i rørkarakterer, som er | N | i eksemplet. Første gang loopen kører, n variabel vil være lig med "Fred", anden gang loopen kører vil den være lig med "Bob" og så videre.

#! / usr / bin / env ruby
# En liste med navne
names = ["Fred", "Bob", "Jim"]
names.each do | n |
sætter "Hej # {n}"
ende