A hurkok használata a Ruby programozásban

A számítógépes programoknak gyakran nem egyszer, hanem többször is kell végrehajtaniuk a műveleteket. Például egy programnak, amely kinyomtatja az összes új e-mailt, minden e-mailt egy listából kell kinyomtatnia, nem csupán egyetlen e-mailt. Ehhez hurkoknak nevezett konstrukciókat használunk. Egy hurok megismétli a nyilatkozatok benne többször, amíg valamely feltétel teljesül.

Míg a hurkok

Ezeknek a hurkoknak az első típusa egy ideig tartó hurok. A hurkok mindazon állításokat végrehajtják, amelyekben a feltételes állítás igaz marad. Ebben a példában a hurok folyamatosan növeli a változó értékét én egyenként. Mindaddig, amíg a feltételes állítás i <10 igaz, a hurok folytatja az utasítás végrehajtását i + = 1 amely hozzáadja egyet a változónak.

#! / usr / bin / env rubin
i = 0
míg i <10
i + = 1
vég
i

A hurkokig

Amíg a hurkok majdnem megegyeznek a while hurkokkal, azzal a különbséggel, hogy addig hurcolnak, ameddig a feltételes utasítás van hamis. Amíg a loop hurok lesz, míg a feltétel igaz, addig a loop hurok lesz

instagram viewer
amíg a feltétel igaz. Ez a példa a while hurok példájának funkcionális ekvivalense, kivéve a hurkot, amíg i == 10 . A változót eggyel növelik, amíg az értéke tíz lesz.

#! / usr / bin / env rubin
i = 0
amíg i == 10
i + = 1
vég
i

Hurok a "Ruby Way"

Noha a tradicionálisabbak, míg a hurkokat a Ruby programokban nem használják, a bezáráson alapuló hurkok gyakoribbak. Még nem szükséges megérteni, hogy mi a bezárás vagy hogyan működnek ezek a hurkok használata; valójában normál hurkoknak tekintik őket, annak ellenére, hogy nagyon különböznek a motorháztető alatt.

A Times Loop

Az alkalommal A hurok bármely számot tartalmazó változón használható, vagy maga a szám is felhasználható. A következő példában az első hurkot háromszor futtatjuk, a második hurkot azonban a felhasználó beadja, azonban sokszor. Ha beír 12-et, akkor 12-szer fut. Észre fogja venni, hogy az időhurok a pontot használja szintaxis (Háromszor megteszi), nem pedig a kulcsszó szintaxisát, amelyet az idő alatt és a hurokig használtak. Ennek összefüggése van azzal, hogy az időhurok hogyan működik a motorháztető alatt, de ugyanakkor használják egy ideig vagy addig, amíg a hurkot nem használják.

#! / usr / bin / env rubin
Háromszor is
azt mondja: "Ezt háromszor nyomtatják ki"
vég
nyomtatás "Írjon be egy számot:"
num = gets.chomp.to_i
a számok nem
azt mondja: "A Ruby nagyszerű!"
vég

Az egyes hurkok

Az minden egyes A hurok talán a leghasznosabb az összes hurok közül. Mindegyik hurok felveszi a változók listáját, és mindegyikre futtatja a mondatok blokkját. Mivel szinte az összes számítási feladat a változók listáját használja, és a listában szereplőkkel mindent meg kell tenni, ezért minden hurok messze a leggyakoribb hurok Ruby kód. Itt érdemes megjegyezni a hurok állításblokkjának érvét. Az a változó értéke, amelyet a hurok néz, a változó nevéhez van hozzárendelve csőkarakterekben, azaz | N | a példában. A hurok első futtatásakor a n változó megegyezik a "Fred" -vel, amikor a hurok második futtatásakor egyenlő lesz "Bob" -val és így tovább.

#! / usr / bin / env rubin
# Névlista
név = ["Fred", "Bob", "Jim"]
names.each do | n |
"Hello # {n}"
vég