Scala:for循环直到条件

标签 scala for-loop conditional-statements

如何运行 for 直到满足条件?除了使用 scala.util.control.Breaks.break,是否可以测试 for 中的条件?

for(line <- source.getLines) {
        if (line.equals("")) scala.util.control.Breaks.break
        Console print "Message> "
        dataWriter.write(line, InstanceHandle_t.HANDLE_NIL)
      }
    } catch  {
        case e: IOException =>{

最佳答案

试试takeWhile

for(line <- source.getLines.takeWhile(!_.isEmpty)) {
  Console print "Message> "
  dataWriter.write(line, InstanceHandle_t.HANDLE_NIL)
}

source.getLines.takeWhile(!_.isEmpty).foreach {
  line => 
   Console print "Message> "
   dataWriter.write(line, InstanceHandle_t.HANDLE_NIL)
}

关于Scala:for循环直到条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20186969/

相关文章:

c - 为什么我无法初始化指针变量并且无法使用gets?

python - python中的循环是否类似于matlab?

database - 会简化插入到具有自动生成的主键的表吗?

python - python中的素数相同的程序不同的输出

c# - 如何在 "boolean conditional statement"中进行循环?

r - 根据变量获取列的值和位置

c# - C#中合并嵌套If(C#中的短路关键字)

scala - Spark 2.1.1 中获取窗口的最后一个元素

scala - 递归迭代嵌套的 Map[String, Any]

java - 是否有人在 IntelliJ 中成功混合了 scala 和 java 文件