Jak používat smyčky v programování Ruby

click fraud protection

Počítačové programy musí často provádět akce několikrát, ne pouze jednou. Například program, který vytiskne všechny vaše nové e-maily, bude muset vytisknout každý e-mail ze seznamu, nejen z jednoho e-mailu. K tomu se používají konstrukty zvané smyčky. Smyčka bude opakovat prohlášení uvnitř ní několikrát, dokud nejsou splněny některé podmínky.

Zatímco smyčky

Prvním typem těchto smyček je smyčka while. Zatímco smyčky budou provádět všechny příkazy, které jsou v nich obsaženy, dokud podmíněný příkaz zůstane pravdivý. V tomto příkladu smyčka neustále zvyšuje hodnotu proměnné i jednou. Dokud podmíněné prohlášení i <10 je pravda, smyčka bude pokračovat v provádění příkazu i + = 1 který přidá jednu do proměnné.

#! / usr / bin / env ruby
i = 0
zatímco i <10
i + = 1
konec
staví se

Až do smyček

Dokud nejsou smyčky téměř identické s smyčkami, kromě toho, že se budou opakovat, dokud je podmíněný příkaz Nepravdivé. Smyčka while se bude opakovat, dokud je podmínka pravdivá, smyčka till se opakuje dokud podmínka je pravdivá. Tento příklad je funkční ekvivalent příkladu smyčky while, s výjimkou použití smyčky till,

instagram viewer
dokud i == 10 . Proměnná se zvyšuje o jednu, dokud se její hodnota rovná deseti.

#! / usr / bin / env ruby
i = 0
dokud i == 10
i + = 1
konec
staví se

Smyčky „Ruby Way“

Přestože jsou v programech Ruby tradičnější chvíle a do doby, kdy jsou smyčky použity, jsou běžnější smyčky založené na uzavření. Pro použití těchto smyček není ani nutné pochopit, jaké uzávěry jsou nebo jak fungují; ve skutečnosti jsou považovány za normální smyčky, přestože se pod kapotou velmi liší.

The Times Loop

krát loop lze použít na libovolnou proměnnou obsahující číslo nebo použít na samotné číslo. V následujícím příkladu je první smyčka spuštěna třikrát a druhá smyčka je spuštěna, ale uživatel ji mnohokrát zadává. Pokud zadáte 12, spustí se 12krát. Všimnete si, že časová smyčka používá tečku syntax (3krát), spíše než syntaxe klíčového slova používaná smyčkou while a while. To má co do činění s tím, jak časová smyčka funguje pod kapotou, ale používá se stejným způsobem chvíli nebo do doby, než se smyčka použije.

#! / usr / bin / env ruby
3x
uvádí „Bude vytištěno třikrát“
konec
tisk "Zadejte číslo:"
num = gets.chomp.to_i
početkrát
klade „Ruby je skvělý!“
konec

Každá smyčka

každý smyčka je možná nejužitečnější ze všech smyček. Každá smyčka vezme seznam proměnných a spustí blok příkazů pro každou z nich. Protože téměř všechny výpočetní úlohy používají seznamy proměnných a musí s každou z nich v seznamu něco dělat, je každá smyčka zdaleka nejběžnější smyčkou v Ruby kód. Jedna věc, kterou je třeba poznamenat, je argument bloku smyčky příkazů. Hodnota aktuální proměnné, na kterou se smyčka dívá, je přiřazena k názvu proměnné ve znakech kanálu, což je | n | v příkladu. Při prvním spuštění smyčky, n Proměnná se bude rovnat "Fred", při druhém spuštění smyčky se bude rovnat "Bob" a tak dále.

#! / usr / bin / env ruby
# Seznam jmen
names = ["Fred", "Bob", "Jim"]
names.each do | n |
vloží "Hello # {n}"
konec
instagram story viewer