Break и next
Завершая изучение циклов, вернёмся к понятию break и связанному с ним понятию next. Как и в случае с циклами repeat и while, из цикла for можно полностью выйти с помощью оператора break. Кроме того, если нужно пропустить текущую итерацию и продолжить цикл, используйте оператор next. Это удобно, когда в ходе выполнения цикла возникает ошибка, но вы не хотите прерывать весь процесс.
for (value in sequence) {
if(next_condition) {
next
}
code
if(breaking_condition) {
break
}
}
Использовать break и next одновременно необязательно — пример выше просто демонстрирует общую структуру их применения.
Смысл использования next в начале, до выполнения основного кода, состоит в том, чтобы заранее проверить наличие проблемы.
Это упражнение является частью курса
Средний уровень R для финансов
Инструкции к упражнению
Вектор apple уже загружен в рабочую среду.
- Выведите содержимое
apple. В данных есть пропущенные значения! - Заполните пропуски в цикле, чтобы он выполнял следующее:
- Проверьте, равно ли
valueзначениюNA. Если да — перейдите к следующей итерации. - Проверьте, превышает ли
valueзначение117. Если да — прервите цикл и продавайте! - В противном случае выведите
"Nothing to do here!".
- Проверьте, равно ли
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Print apple
___
# Loop through apple. Next if NA. Break if above 117.
for (value in apple) {
if(is.na(___)) {
print("Skipping NA")
next
}
if(value > ___) {
print("Time to sell!")
break
} else {
print(___)
}
}