` Next `és` Break ‘ a Rubyban

argumentumok átadása a közös iterációs menekülési módszereknek a jobb ellenőrzés érdekében a felsorolásokban.

A Ruby két eszközt biztosít a megszökéshez egy felsorolásból: next további értékelés nélkül lép be a következő iterációba, és break teljesen kilép a felsorolásból.

vessünk egy gyors pillantást mindkettőre néhány egyszerű példával.

# Example of `next`a = a.each do |num|
next if num < 2
puts num
end# console output
2
3
=>

a fenti példában azt látjuk, hogy a 1 nem nyomtatódik ki a konzolra, mert a next az első iterációnál (1 kisebb, mint 2) a puts nyilatkozat. A feltétel nem teljesül a következő két iterációban, és aputs utasítás kimeneteknum a konzolhoz, a várakozásoknak megfelelően, majd aavisszatér.

# Example of `break`a = a.each do |num|
break if num < 2
puts num
end# console output
=> nil

a break valami teljesen más történt. Itt az első iterációnál az 1-et ismét 2-nél kisebbnek értékeljük, így a break hívásunk végrehajtásra kerül, így a felsorolás teljesen megmarad. Ebben az esetben azt látjuk, hogy a jövőbeni iterációk nem történnek meg, és nil kerül visszaadásra.

bár ez a menekülés kívánatos, mi van, ha valami mást kell visszaadnunk, mint nil? Szerencsére mind a break, mind a next elfogadja az argumentumot a visszatérési érték kézi beállításához.

argumentumok átadása

először nézzük meg, hogyan működik a break:

a = a.each do |num|
break num if num < 2
puts num
end# console output
=> 1

itt telt el num mint a break (ne feledje, hogy a zárójelek nem kötelezőek a Ruby-ban, így a break num és a break(num) azonos módon kerülnek kiértékelésre) és manuálisan adja meg a visszatérési értéket. Ha a nil a break aktiválásakor valami mást kell visszaadnia, ez kivételesen hasznos lehet.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.