我们使用 R 的 `repeat` 循环来多次执行一个代码块。然而,`repeat` 循环没有终止循环的条件。您需要使用 `break` 语句在循环内部隐式地设置一个退出条件。
`repeat` 循环的语法是
repeat {
# statements
if(stop_condition) {
break
}
}
这里,我们使用了 `repeat` 关键字来创建一个 `repeat` 循环。它与 `for` 和 `while` 循环不同,因为它不使用预定义的条件来退出循环。
示例 1:R repeat 循环
让我们看一个示例,它将使用 `repeat` 循环打印数字,并一直执行直到 `break` 语句被执行。
x = 1
# Repeat loop
repeat {
print(x)
# Break statement to terminate if x > 4
if (x > 4) {
break
}
# Increment x by 1
x = x + 1
}
输出
[1] 1 [1] 2 [1] 3 [1] 4 [1] 5
在这里,我们使用了一个 `repeat` 循环来打印从 `1` 到 `5` 的数字。我们使用了一个 `if` 语句来提供一个中断条件,如果 `x` 的值大于 `4`,则中断循环。
示例 2:无限 repeat 循环
如果您没有在 `repeat` 循环中放置 `break` 语句,它将导致无限循环。例如,
x = 1
sum = 0
# Repeat loop
repeat {
# Calculate sum
sum = sum + x
# Print sum
print(sum)
# Increment x by 1
x = x + 1
}
输出
[1] 1 [1] 3 [1] 6 [1] 10 . . .
在上面的程序中,由于我们没有包含任何带有退出条件的 `break` 语句,程序会无限打印数字之和。
示例 3:带有 next 语句的 repeat 循环
您还可以在 `repeat` 循环中使用 `next` 语句来跳过一次迭代。例如,
x = 1
repeat {
# Break if x = 4
if ( x == 4) {
break
}
# Skip if x == 2
if ( x == 2 ) {
# Increment x by 1 and skip
x = x + 1
next
}
# Print x and increment x by 1
print(x)
x = x + 1
}
输出
[1] 1 [1] 3
在这里,我们有一个 `repeat` 循环,当 `x` 等于 `4` 时我们跳出循环。我们跳过了 `x` 等于 `2` 的迭代。