В Си и многих других языках есть continueключевое слово, которое при использовании внутри цикла переходит на следующую итерацию цикла. Есть ли эквивалент этого continueключевого слова в Ruby?
Руби многое позаимствовал у Perl, включая redoкоманду Perl (или ее сущность, в любом случае). Для интерпретации Руби, найдите «повторить» на этой странице .
Внутри для петель и итератора методов , как eachи mapв nextключевом слове в рубине будет иметь эффект перехода к следующей итерации цикла (такой же , как continueв С).
Однако на самом деле он просто возвращает из текущего блока. Таким образом, вы можете использовать его с любым методом, который принимает блок - даже если он не имеет ничего общего с итерацией.
Ответы:
Да, это называется
next
.Это выводит следующее:
источник
next
) выше C (continue
)next
также посмотрите,
redo
что повторяет текущую итерацию.источник
redo
команду Perl (или ее сущность, в любом случае). Для интерпретации Руби, найдите «повторить» на этой странице .Пишу ответ Яна Пертона чуть более идиотски:
Печать:
источник
Внутри для петель и итератора методов , как
each
иmap
вnext
ключевом слове в рубине будет иметь эффект перехода к следующей итерации цикла (такой же , какcontinue
в С).Однако на самом деле он просто возвращает из текущего блока. Таким образом, вы можете использовать его с любым методом, который принимает блок - даже если он не имеет ничего общего с итерацией.
источник
В Ruby есть еще два ключевых слова управления циклами и итерациями:
redo
иretry
. Узнайте больше о них и разнице между ними в рубриках QuickTips .источник
Я думаю, что это называется следующим .
источник
Используйте следующее, оно обойдет это условие, и остальная часть кода будет работать. Ниже я предоставил полный сценарий и положил
Выход: введите число 10
1 2 3 4 6 7 8 9 10
источник