【问题标题】:How to skip an iteration in a for-loop in Scala?如何在Scala的for循环中跳过迭代?
【发布时间】:2021-10-07 12:41:26
【问题描述】:

例如在 C 中你可以编写

for (int i = 0; i < 10 ; i++) {
  if (i == 2) i += 1
  // do stuff
}

由于 Scala 使用范围,我们将如何修改迭代器?

【问题讨论】:

    标签: scala loops iteration


    【解决方案1】:

    你可以使用警卫:

    for (i <- 0 to 10; if i != 2) println(i)
    

    这将打印从 0 到 10 的数字,不包括 2。

    您可以在 Scastie 上通过here 看到此代码的运行情况。

    【讨论】:

      【解决方案2】:

      你会有多种解决方案,但基本上应该在某处使用 .filter() 之类的子句。

      例如(0 to 10).filterNot(_ == 3).foreach(doStuff())

      【讨论】:

      • 行得通!谢谢!
      • 太棒了 :-) 不要犹豫,标记您认为相关的答案之一已接受 :-) (如果两者都接受,您可以随意选择,一切都很好 :-))
      • 谢谢 :) 当我能够投票时,我也会回来为两个答案投票
      猜你喜欢
      • 2021-11-15
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2021-04-15
      • 1970-01-01
      • 2021-08-23
      相关资源
      最近更新 更多