简体   繁体   English

Scala:for循环直到条件

[英]Scala: for loop until condition

How can I run for until a condition is met? 我如何运行for ,直到条件被满足? Instead of using scala.util.control.Breaks.break , is it possible to test for a condition within 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 =>{

Try takeWhile 试试takeWhile

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

or 要么

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM