Использование следующего в потоке управления

На странице справки об управлении потоком не существует примеров использования "следующего" . Я бы хотел, чтобы он перешел к следующей итерации на основе условия в script.

Используя приведенный ниже пример, скажем, я не хочу, чтобы он печатался, если x[i] > 5, ожидаемый вывод будет 5-10 на экране:

x <- 1:100
for(i in 1:10) {
# next(x[i] < 5) # Just for conceptualizing my question.
print(x[i])
}

Как мне сделать реализацию next для выполнения чего-то вроде показанного выше?

Ответы

Ответ 1

Я дам вам полный пример и "да", но я не уверен, что ваши вопросы:

R> for (i in 1:10) {
+     if (i < 5) next
+     print(i)
+ }
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
R> 

Ответ 2

Чтобы выполнить эту работу, вам нужно проверить, есть ли x < 5 и, если есть, перейти к next. next будет, в свою очередь (для цитирования страницы справки), "[остановить] обработку текущей итерации и [продвигать] индекс цикла", начиная снова через цикл.

x <- 1:100
for(i in 1:10) {
    if(x[i] < 5) next
    print(x[i])
}
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10