R repeat 循环

我们使用 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` 的迭代。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战