我们已经在之前的教程中讨论了条件语句和循环语句的基础知识。在本教程中,我们重点学习 R 编程语言中的循环控制语句。让我们继续学习每种类型的循环控制语句。
在 R 编程语言中,break 是一个保留字,用于表示基本控制流结构之一。
循环中的 break 语句允许从当前迭代中突然终止,从而中断迭代的进一步执行。控制权将转移到循环语句之后的紧邻指令,以恢复程序执行。
语法
break
描绘程序遇到 break 语句时执行情况的流程图。

考虑一个程序,它迭代 for 循环中给定的代码块。使用 c() 函数创建了一个向量 v,其中包含一个元素列表,例如 "Learn"、"eTutorials"、"for"、"R"、"Program"。
当 R 代码开始执行时,迭代器变量 i 存储输入向量 v 的元素,检查迭代器变量 i 是否等于 3 这个作为 if 语句给出的条件,当条件不满足时,i 中的元素会被显示出来。另一方面,当 if 语句满足时,它会退出迭代。
| 迭代器变量 i | If 语句 | 输出 v[i] |
|---|---|---|
| i=1 | i==3 错误 | V[1] = "Learn" |
| i=2 | i==3 错误 | V[2] = "eTutorials" |
| i=3 | i==3 正确 break | 退出执行 |
当 if 语句内部跟随一个 break 语句时,结束循环。并跳转到程序中的下一个后续指令。在我们给定的程序中,当迭代器变量 i 变为等于 3 (i==3) 时,提供了 break 语句以退出 for 循环。
#break statement in R
#vector v with 5 character values
v < -c("Learn", "eTutorials", "for", "R", "Program")
for (i in 1: 5) {
if (i == 3) {
break
}
print(v[i])
}
上述 R 源代码生成的输出显示,当 if 控制结构满足并且后面跟着一个 break 语句时,迭代通过中断 for 循环中序列的进一步执行而退出。
[1] "Learn" [1] "eTutorials"
在 R 编程语言中,next 语句允许通过跳过 for 循环或 while 循环内的任何迭代来继续执行程序,而不影响剩余的迭代。
当 next 这个保留字被评估时,当前正在执行的迭代会立即停止,并切换到从下一个紧邻的迭代或语句恢复执行。
语法
next
next 控制语句的流程图有助于轻松理解这个概念。

示例
考虑我们为 break 语句讨论的相同示例。在这里,您可以在代码中看到的唯一区别是,我们使用了另一种类型的控制结构(next 语句)而不是 break 语句来控制 R 程序的流程。
在 for 循环迭代期间,它会检查迭代器变量或任何给定条件是否满足。当 if 语句内部的某个条件满足时,if 语句内的代码开始执行。
如果确定了 next 语句,迭代器变量会跳过执行该序列,并继续执行 for 循环迭代中的下一个序列。
在给定的示例中,当 i 等于 3 (i==3) 时,条件满足,通过移动到下一个迭代即 i 变为 4 (i=4) 来执行 next 语句,跳过了 i 等于 3 时的进一步操作。
该表总结了存在 next 语句时 for 循环的工作方式。
| 迭代器变量 i | If 语句 | 输出 v[i] |
|---|---|---|
| i=1 | i==3 错误 | V[1] = "Learn" |
| i=2 | i==3 错误 | V[2] = "eTutorials" |
| i=3 | i==3 正确 next | 移动到下一次迭代 |
| i=4 | i==3 错误 | V[4] = "R" |
| i=5 | i==3 错误 | V[5] = "Program") |
#next statement in R
#vector v with 5 character values
v < -c("Learn", "eTutorials", "for", "R", "Program")
for (i in 1: 5) {
if (i == 3) {
next
}
print(v[i])
}
生成的输出是
[1] "Learn" [1] "eTutorials" [1] "R" [1] "Program"