非常简单的示例代码(仅用于演示,没有任何用处):
repeat {
while (1 > 0) {
for (i in seq(1, 100)) {
break # usually tied to a condition
}
break
}
break
}
print("finished")
我希望在不使用每个循环中的break
的情况下从多个循环中退出。根据关于Python的类似问题的这篇文章,将我的循环包装成一个函数似乎是一个可能的解决方案,即在函数中使用return()
来跳出每个循环:
nestedLoop <- function() {
repeat {
while (1 > 0) {
for (i in seq(1, 100)) {
return()
}
}
}
}
nestedLoop()
print("finished")
在R中有其他可用的方法吗?也许类似于标记循环然后指定要中断哪个循环(就像Java中那样)的方法?
return
。但是当然,我已经好几个月没有编写嵌套的 R 循环了,也有好几年没有使用 R 的while
或repeat
循环了。 - Roland