【发布时间】:2019-06-26 21:28:06
【问题描述】:
我正在尝试在for循环中使用break和next,我的代码如下:
for(i in strsplit('chapter', '')){
if(i == 'p'){
break
}
print(i)
}
预期输出:
c
h
a
for(i in strsplit('chapter', '')){
if(i == 'p'){
next
}
print(i)
}
预期输出:
c
h
a
t
e
r
但是我上面两个循环的输出是:
[1] "c" "h" "a" "p" "t" "e" "r"
Warning message:
In if (i == "p") { :
the condition has length > 1 and only the first element will be used
>
我也不明白警告信息,为什么会这样。 我尝试了另一个数字示例:
x <- c(1,5,2,6,8,5,9,1)
for (val in x) {
if (val == 5){
next
}
print(val)
}
输出是:
[1] 1
[1] 2
[1] 6
[1] 8
[1] 9
[1] 1
>
虽然数字 5 在向量中的两个位置存在,但输出未显示警告“条件的长度 > 1 并且仅使用第一个元素”
【问题讨论】: