跳到主要内容

R语言 repeat 循环

提示
  1. 基本使用:在 R 语言中,repeat 循环用于反复执行一组语句,直到遇到 break 语句才终止。
  2. 无条件循环repeat 循环不像 forwhile 循环那样有预设的结束条件,因此必须在循环体内使用 if 语句和 break 语句来设定退出条件。
  3. next 语句的使用repeat 循环中可以使用 next 语句来跳过当前迭代,继续执行下一次迭代。

在 R 中,我们使用 repeat 循环来多次执行一个代码块。然而,repeat 循环没有任何条件来终止循环。你需要在循环内部隐式地放置一个退出条件,即使用 break 语句。

repeat 循环的语法如下:

repeat {
# 语句
if (stop_condition) {
break
}
}

这里,我们使用了 repeat 关键字来创建一个 repeat 循环。它与 forwhile 循环不同,因为它不使用预定义的条件来退出循环。

示例 1:R repeat 循环

让我们看一个使用 repeat 循环打印数字的例子,这个循环将一直执行,直到执行了 break 语句。

x = 1

# Repeat 循环
repeat {

print(x)

# 如果 x > 4,使用 Break 语句终止循环
if (x > 4) {
break
}

# 将 x 增加 1
x = x + 1

}

输出

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5

这里,我们使用了一个 repeat 循环来打印从 15 的数字。我们使用了一个 if 语句来提供一个中断条件,这个条件在 x 的值大于 4 时中断循环。

示例 2:无限 repeat 循环

如果你未在 repeat 循环中放置一个 break 语句,它将导致一个无限循环。例如,

x = 1
sum = 0

# Repeat 循环
repeat {

# 计算总和
sum = sum + x

# 打印总和
print(sum)

# 将 x 增加 1
x = x + 1

}

输出

[1] 1
[1] 3
[1] 6
[1] 10
.
.
.

在上述程序中,由于我们没有包括任何带有退出条件的 break 语句,程序无限地打印数字的总和。

示例 3:带 next 语句的 repeat 循环

你也可以在 repeat 循环中使用 next 语句来跳过一次迭代。例如,

x = 1

repeat {

# 如果 x == 4,终止循环
if (x == 4) {
break
}

# 如果 x == 2,跳过
if (x == 2) {
# 将 x 增加 1 并跳过
x = x + 1
next
}

# 打印 x 并将 x 增加 1
print(x)
x = x + 1

}

输出

[1] 1
[1] 3

这里,我们有一个 repeat 循环,其中我们在 x 等于 4 时终止循环。我们跳过了当 x 等于 2 时的迭代。