跳到主要内容

R语言 break 和 next

提示
  1. break 语句的作用:在 R 语言中,break 用于终止循环的执行,常在循环内的条件语句中使用,当条件为真时终止循环。
  2. 嵌套循环中的 break:在嵌套循环结构中,break 仅终止最内层循环,外层循环继续执行。
  3. 使用 next 语句next 语句用于跳过循环的当前迭代,继续执行下一个迭代,通常用于条件语句中忽略特定情况。

我们在 R 中使用 breaknext 语句来改变程序的流程。这些在编程中也被称为跳转语句:

  • break - 终止循环语句
  • next - 跳过循环的一个迭代

R break 语句

你可以在循环(forwhilerepeat)内部使用 break 语句来终止循环的执行。这将停止任何进一步的迭代。

break 语句的语法是:

if (test_expression) {
break
}

break 语句通常在循环内的条件(if...else)语句中使用。如果 test_expression 内的条件返回 True,那么 break 语句就会被执行。例如,

# 待迭代的向量
x = c(1, 2, 3, 4, 5, 6, 7)

# 带有 break 语句的 for 循环
for(i in x) {

# 带有 break 的 if 条件
if(i == 4) {
break
}

print(i)
}

输出

[1] 1
[1] 2
[1] 3

这里,我们定义了一个从 17 的数字向量。在 for 循环中,我们使用 if 语句检查当前数字是否为 4

如果是,那么 break 语句就会被执行,不会进行更多的迭代。因此,只有从 13 的数字被打印出来。

嵌套循环中的 break 语句

如果你有一个嵌套循环,并且 break 语句在内层循环中,那么只会终止内层循环的执行。

让我们检查一个在嵌套循环中使用 break 语句的程序。

# 待迭代的向量
x = c(1, 2, 3)
y = c(1, 2, 3)

# 带有 break 语句的嵌套 for 循环
for(i in x) {
for (j in y) {
if (i == 2 & j == 2) {
break
}
print(paste(i, j))
}
}

输出

[1] "1 1"
[1] "1 2"
[1] "1 3"
[1] "2 1"
[1] "3 1"
[1] "3 2"
[1] "3 3"

这里,我们在内层循环中有一个 break 语句。

我们在条件语句中使用它,如果两个数字都等于 2,内层循环就会终止。

然后流程转到外层循环。因此,(2, 2) 的组合从未被打印。

R next 语句

在 R 中,next 语句跳过循环的当前迭代,并从下一个迭代开始循环。

next 语句的语法是:

if (test_condition) {
next
}

如果程序遇到 next 语句,当前迭代中的任何进一步代码执行都将被跳过,然后开始下一个迭代。

让我们检查一个只打印一系列数字中的偶数的程序。

# 待迭代的向量
x = c(1, 2, 3, 4, 5, 6, 7, 8)

# 带有 next 语句的 for 循环
for(i in x) {

# 带有 next 的 if 条件
if(i %% 2 != 0) {
next


}

print(i)
}

输出

[1] 2
[1] 4
[1] 6
[1] 8

这里,我们使用 if 语句检查循环中的当前数字是否为奇数。

如果是,那么 if 块内的 next 语句被执行,当前迭代被跳过。