Эквивалент "продолжить" в Ruby
В C и многих других языках, есть continue ключевое слово, которое при использовании внутри цикла переходит к следующей итерации цикла. Есть ли какой-либо эквивалент этого continue ключевое слово в Ruby?
6 ответов:
Да, это называется
next.for i in 0..5 if i < 2 next end puts "Value of local variable is #{i}" endэто выводит следующее:
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
писать Иэн Purton это!--5--> ответ чуть более идиоматично:
(1..5).each do |x| next if x < 2 puts x endпринты:
2 3 4 5
внутри for-loops и методов итератора, таких как
eachиmapthenextключевое слово в Рубине будет иметь эффект перехода к следующей итерации цикла (так же, какcontinueВ C).однако то, что он на самом деле делает, это просто вернуться из текущего блока. Так что вы можете использовать его с любой метод, который принимает блок, даже если он не имеет ничего общего с повторением.
Ruby имеет два других ключевых слова управления циклом / итерацией:
redoиretry. подробнее о них, и разница между ними, в Ruby QuickTips.
Я думаю, что это называется далее.