Hoe loops te gebruiken in Ruby

mancodes op computer

Tor Piyapalakorn / EyeEm / Getty Images





Computerprogramma's moeten acties vaak een aantal keren 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 constructies die lussen worden genoemd, gebruikt. Een lus herhaalt de uitspraken er een aantal keren in totdat aan een bepaalde voorwaarde is voldaan.

While-lussen

Het eerste type van deze lussen is een while-lus. While-lussen voeren alle instructies uit die erin staan, zolang de voorwaardelijke instructie waar blijft. In dit voorbeeld verhoogt de lus continu de waarde van de variabele i bij een. Zolang de voorwaardelijke verklaring i<10 waar is, zal de lus doorgaan met het uitvoeren van de instructie ik += 1 die er één aan de variabele toevoegt.



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

Tot lussen

Totdat lussen bijna identiek zijn aan while-lussen, behalve dat ze een lus zullen vormen zolang de voorwaardelijke instructie is vals . De while-lus loopt door terwijl de voorwaarde waar is, de tot-lus wordt herhaald tot de voorwaarde is waar. Dit voorbeeld is het functionele equivalent van het while-lusvoorbeeld, behalve het gebruik van een tot-lus, tot ik == 10 . De variabele wordt met één verhoogd totdat de waarde gelijk is aan tien.

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

Loopt de 'Ruby Way'

Hoewel de meer traditionele while- en totdat-lussen worden gebruikt in Ruby-programma's, komen op sluiting gebaseerde lussen vaker voor. Het is niet eens 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 verschillend zijn onder de motorkap.



The Times Loop

De keer lus kan worden gebruikt op elke variabele die een getal bevat of op een getal zelf. In het volgende voorbeeld wordt de eerste lus 3 keer uitgevoerd en de tweede lus wordt echter vele malen door de gebruiker ingevoerd. Als u 12 invoert, wordt deze 12 keer uitgevoerd. Je zult merken dat de tijdlus de punt gebruikt syntaxis (3.times doen) in plaats van de sleutelwoordsyntaxis die wordt gebruikt door de while- en tot-lus. Dit heeft te maken met hoe de tijdlus onder de motorkap werkt, maar deze wordt een tijdje of totdat de lus wordt gebruikt op dezelfde manier gebruikt.

#!/usr/bin/env ruby
3. keer wel
zet 'Dit wordt 3 keer afgedrukt'
einde
print 'Vul een nummer in: '
num = krijgt.chomp.to_i
aantal keer wel
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 met instructies uit. Aangezien bijna alle computertaken lijsten met variabelen gebruiken en met elk van hen in de lijst iets moeten doen, is elke lus verreweg de meest voorkomende lus in Ruby-code . Een ding om hier op te merken is het argument voor het blok met instructies van de lus. De waarde van de huidige variabele waar de lus naar kijkt, wordt toegewezen aan de naam van de variabele in pipe-tekens, dat is |n| in het voorbeeld. De eerste keer dat de lus wordt uitgevoerd, 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
namen = [ 'Fred', 'Bob', 'Jim' ]
namen.elk doen|n|
zet 'Hallo #{n}'
einde