Dit zal je voor een lus gooien

Opgroeien in de stad, als iemand over loops begint te praten, denken mijn hersenen meteen aan een snelweg. Dit helpt me om me voor te stellen hoe een lus in Ruby ook werkt. Er zijn veel verschillende soorten lussen en als je voor het eerst leert, kan het moeilijk zijn om te begrijpen hoe ze werken. Als je ze eenmaal onder de knie hebt, kun je een gemeen rijdende Ruby-machine zijn. Door lussen te gebruiken, kunt u repetitieve code elimineren en complexe taken eenvoudiger maken.


While Loops

De eerste soort lus i n Ruby wordt een while-lus genoemd. Een while-lus zal een voorwaardelijke instructie aannemen en doorgaan totdat deze instructie onwaar wordt. Hoewel lussen goed te gebruiken zijn als je niet weet hoe vaak je moet integreren via een programma. Stel je voor dat je over de snelweg rijdt terwijl de benzinetank nog vol is. Zodra de gastank leeg is (vals), is het tijd om te vertrekken. U moet echter onthouden dat u voorzichtig moet zijn met een while-lus, want als de conditie nooit false wordt, zal deze eindeloos worden herhaald. De do while-lus lijkt erg op de while-lus, maar de voorwaardelijke instructie wordt aan het einde van de lus geplaatst. Dit wordt gedaan zodat, wat er ook gebeurt, de code in de lus ten minste één keer wordt uitgevoerd. Het voorbeeld van de do while-lus gaat door de do-instructie en drukt af “We hebben gas, laten we doorgaan”. De if-instructie zal dan false retourneren, waardoor de lus wordt beëindigd en de volgende regel die wordt afgedrukt, is “tijd om gas te krijgen”.

Tot lussen

Als u het tegenovergestelde van een while-lus zoekt, zult u niet teleurgesteld zijn. Een till-lus is vergelijkbaar, maar zal door de code blijven lopen totdat de voorwaardelijke instructie true retourneert, waarna de lus eindigt. Stel dat u over de snelweg rijdt en niet zeker weet hoeveel verder tot uw afrit. Je zou blijven rijden totdat je je afritbord zag, in dit voorbeeld 39. Zodra je je afritbord ziet, neem je de oprit en ben je nu uit de lus. Het bovenstaande voorbeeld zou 5 keer herhalen, waarbij elke keer 1 wordt opgeteld bij het exitnummer. Bij de 6e iteratie zou de voorwaardelijke instructie true retourneren en zou het programma de lus verlaten.

For Loops

Maar wat als je precies weet hoeveel iteraties je nodig hebt om de gewenste output te krijgen? Dit is waar een for-lus van pas kan komen. Terug in de wereld van het rijden op een snelweg, zou dit het equivalent zijn van weten hoeveel afritten je moet nemen, ook al weet je de exacte naam niet. Straatnamen kunnen soms verwarrend zijn, maar het is gemakkelijk om te onthouden dat uw ouders precies 5 afritten van de snelweg vandaan wonen waar u woont. Bij die 5e afslag kun je beter van de snelweg af, anders mis je het avondeten. De for loop en elimineer extra regels code door automatisch een teller voor je bij te houden. In het voorbeeld is “a” de teller en begint met een waarde van 27. Na de eerste iteratie weet de for-lus de waarde van “a” te verhogen tot 28. Hij blijft dit doen totdat de waarde van “a” is 31. Wanneer “a” 31 is, itereert het nog een laatste keer door de code voordat de lus wordt verlaten en wordt aangekondigd “Dat was een snelle 5 exits”.

Conclusie

De hier getoonde lusvoorbeelden zijn vereenvoudigde voorbeelden om u een goed basiskennis te geven van wanneer en hoe u ze allemaal kunt gebruiken. Voorwaardelijke instructies binnen deze lussen en zijn veel gecompliceerder, waardoor er meer functionaliteit in uw programma beschikbaar is. De code die binnen de lus wordt uitgevoerd, kan ook meer zijn dan gewone put-instructies. Als u klaar bent om nog krachtigere loops te bouwen, als statements samen met andere loops zelf in de uitvoerbare code kunnen worden genest. Begrijpen hoe deze lussen werken, is een sleutelprincipe voor de volgende les, waarin we ingaan op hoe enumerables werken.