W C i wielu innych językach istnieje continue
słowo kluczowe, które użyte w pętli przeskakuje do następnej iteracji pętli. Czy jest jakiś odpowiednik tego continue
słowa kluczowego w Ruby?
W C i wielu innych językach istnieje continue
słowo kluczowe, które użyte w pętli przeskakuje do następnej iteracji pętli. Czy jest jakiś odpowiednik tego continue
słowa kluczowego w Ruby?
Odpowiedzi:
Tak, to się nazywa next
.
for i in 0..5
if i < 2
next
end
puts "Value of local variable is #{i}"
end
To powoduje, że:
Value of local variable is 2
Value of local variable is 3
Value of local variable is 4
Value of local variable is 5
=> 0..5
next
) powyżej C ( continue
)
next
sprawdź także, redo
które ponowne wykonanie bieżącej iteracji.
redo
rozkaz (lub jego esencję, zresztą). Aby interpretować Ruby, wyszukaj „ponów” na tej stronie .
Pisanie Iana Purton za odpowiedź w nieco bardziej idiomatycznych sposób:
(1..5).each do |x|
next if x < 2
puts x
end
Wydruki:
2
3
4
5
Wewnątrz pętli i na-iterator metod jak each
i kluczowe w Ruby będzie miał wpływ skoków do następnej iteracji pętli (tak samo jakmap
next
continue
w C).
Jednak tak naprawdę to po prostu wraca z bieżącego bloku. Możesz więc używać go z dowolną metodą, która zajmuje blok - nawet jeśli nie ma to nic wspólnego z iteracją.
Ruby ma dwa inne słowa kluczowe kontroli pętli / iteracji: redo
i retry
.
Przeczytaj więcej o nich i różnicach między nimi w Ruby QuickTips .
Użyj następnej, pominie ten warunek, a reszta kodu będzie działać. Poniżej przedstawiłem pełny skrypt i out put
class TestBreak
puts " Enter the nmber"
no= gets.to_i
for i in 1..no
if(i==5)
next
else
puts i
end
end
end
obj=TestBreak.new()
Wyjście: wprowadź nmber 10
1 2 3 4 6 7 8 9 10