Ako používať slučky v Ruby

mužské kódy v počítači

Tor Piyapalakorn / EyeEm / Getty Images





Počítačové programy musia často vykonávať akcie niekoľkokrát, nielen raz. Napríklad program, ktorý vytlačí všetky vaše nové e-maily, bude musieť vytlačiť každý e-mail zo zoznamu, nielen jeden e-mail. Na tento účel sa používajú konštrukcie nazývané slučky. Slučka bude opakovať Vyhlásenia v ňom niekoľkokrát, kým nie je splnená nejaká podmienka.

Kým slučky

Prvým typom týchto slučiek je slučka while. Kým slučky vykonajú všetky príkazy, ktoré sa v nich nachádzajú, pokiaľ podmienený príkaz zostane pravdivý. V tomto príklade cyklus neustále zvyšuje hodnotu premennej i jedným. Pokiaľ podmienečné vyhlásenie i<10 je pravda, cyklus bude pokračovať vo vykonávaní príkazu i += 1 ktorý k premennej pridá jedničku.



#!/usr/bin/env ruby
i = 0
kým<10
i += 1
koniec
kladie i

Kým Loops

Slučky Until sú takmer identické so slučkami while s výnimkou toho, že sa budú cyklovať tak dlho, ako bude podmienený príkaz falošné . Cyklus while sa bude opakovať, kým je podmienka pravdivá, slučka till sa bude opakovať kým podmienka je pravdivá. Tento príklad je funkčným ekvivalentom príkladu cyklu while s výnimkou použitia cyklu till, kým i == 10 . Premenná sa zvyšuje o jednotku, kým sa jej hodnota nerovná desiatim.

#!/usr/bin/env ruby
i = 0
kým i == 10
i += 1
koniec
kladie i

Slučka „Ruby Way“

Hoci sa v programoch Ruby používajú tradičnejšie slučky while a till, bežnejšie sú slučky založené na uzavretí. Na použitie týchto slučiek nie je ani potrebné rozumieť tomu, čo sú uzávery alebo ako fungujú; v skutočnosti sú vnímané ako normálne slučky napriek tomu, že sú pod kapotou veľmi odlišné.



The Times Loop

The krát slučku možno použiť na ľubovoľnú premennú obsahujúcu číslo alebo použiť na samotné číslo. V nasledujúcom príklade je prvý cyklus spustený 3-krát a druhý cyklus je spustený bez ohľadu na to, koľkokrát je zadaný používateľ. Ak zadáte 12, spustí sa 12-krát. Všimnete si, že časová slučka používa bodku syntax (3. krát) namiesto syntaxe kľúčového slova, ktorú používa cyklus while a till. Súvisí to s tým, ako funguje časová slučka pod kapotou, ale používa sa rovnakým spôsobom, kým sa nepoužije slučka.

#!/usr/bin/env ruby
3. krát robiť
zadá „Toto sa vytlačí 3-krát“
koniec
vytlačiť 'Zadajte číslo:'
num = get.chomp.to_i
num.krát robiť
hovorí: „Ruby je skvelá!“
koniec

Každá slučka

The každý slučka je možno najužitočnejšia zo všetkých slučiek. Každá slučka vezme zoznam premenných a spustí blok príkazov pre každú z nich. Keďže takmer všetky výpočtové úlohy používajú zoznamy premenných a musia s každou z nich v zozname niečo urobiť, každá slučka je zďaleka najbežnejšou slučkou v Ruby kód . Jedna vec, ktorú si tu treba všimnúť, je argument bloku príkazov cyklu. Hodnota aktuálnej premennej, na ktorú sa slučka pozerá, je priradená k názvu premennej v znakoch zvislej čiary, čo je |n| v príklade. Pri prvom spustení slučky sa n premenná sa bude rovnať 'Fred', pri druhom spustení cyklu sa bude rovnať 'Bob' atď.

#!/usr/bin/env ruby
# Zoznam mien
mená = [ 'Fred', 'Bob', 'Jim' ]
mená.každý robí|n|
zadá 'Ahoj #{n}'
koniec