Lussen gebruiken in Ruby

Computerprogramma's moeten vaak een aantal keren acties uitvoeren, niet slechts één keer. Een programma dat al uw nieuwe e-mail afdrukt, moet bijvoorbeeld elke e-mail uit een lijst afdrukken, niet slechts één e-mail. Om dit te doen, worden constructen genaamd lussen gebruikt. Een lus herhaalt de verklaringen erin een aantal keren totdat aan een voorwaarde is voldaan.

While Loops

Het eerste type van deze lussen is een while-lus. Terwijl lussen alle daarin opgenomen verklaringen uitvoeren zolang de voorwaardelijke verklaring waar blijft. In dit voorbeeld verhoogt de lus de waarde van de variabele voortdurend ik bij een. Zolang de voorwaardelijke verklaring ik < 10 is waar, zal de lus de instructie blijven uitvoeren i + = 1 die één aan de variabele toevoegt.

#! / usr / bin / env ruby
i = 0
terwijl ik < 10
i + = 1
einde
zet ik

Tot Loops

Tot loops bijna identiek zijn aan While-loops, behalve dat ze zolang worden herhaald als de voorwaardelijke verklaring is vals. De While-lus zal worden herhaald terwijl de voorwaarde waar is, de While-lus zal worden herhaald tot de toestand is waar. Dit voorbeeld is het functionele equivalent van het while-lusvoorbeeld, behalve het gebruik van een till-lus, tot i == 10 . De variabele wordt met één verhoogd totdat de waarde gelijk is aan tien.

#! / usr / bin / env ruby
i = 0
tot i == 10
i + = 1
einde
zet ik

Loops de "Ruby Way"

Hoewel de meer traditionele while-en-loops worden gebruikt in Ruby-programma's, komen loops-loops vaker voor. Het is zelfs niet nodig om te begrijpen wat sluitingen zijn of hoe ze werken om deze lussen te gebruiken; in feite worden ze gezien als normale lussen, ondanks dat ze heel anders zijn onder de motorkap.

The Times Loop

De keer lus kan worden gebruikt op elke variabele die een nummer bevat of op een nummer zelf. In het volgende voorbeeld wordt de eerste lus driemaal uitgevoerd en wordt de tweede lus uitgevoerd, hoe vaak de gebruiker deze ook invoert. Als u 12 invoert, wordt het 12 keer uitgevoerd. U zult merken dat de times-lus de puntsyntaxis gebruikt (3 keer doen) in plaats van de trefwoordsyntaxis die wordt gebruikt door de while-en-lus. Dit heeft te maken met hoe de times loop onder de motorkap werkt, maar het wordt een tijdje op dezelfde manier gebruikt of totdat loop wordt gebruikt.

#! / usr / bin / env ruby
3. keer doen
zet "Dit wordt 3 keer afgedrukt"
einde
print "Voer een nummer in:"
num = gets.chomp.to_i
aantal keer doen
zegt "Ruby is geweldig!"
einde

De elke lus

De elk lus is misschien wel de meest bruikbare van alle lussen. Elke lus neemt een lijst met variabelen en voert voor elk ervan een blok instructies uit. Aangezien bijna alle computertaken lijsten met variabelen gebruiken en iets met elk van hen in de lijst moeten doen, is elke lus veruit de meest voorkomende lus in Ruby-code. Een ding om op te merken is het argument van het blok van uitspraken in de lus. De waarde van de huidige variabele waarnaar de lus kijkt, wordt toegewezen aan de variabelenaam in pijptekens | N | in het voorbeeld. De eerste keer dat de lus wordt uitgevoerd, wordt de n variabele is gelijk aan "Fred", de tweede keer dat de lus wordt uitgevoerd, is deze gelijk aan "Bob" enzovoort.

#! / usr / bin / env ruby
# Een lijst met namen
names = ["Fred", "Bob", "Jim"]
names.each do | n |
zet "Hallo # n"
einde