Scala:for循环直到条件

Han*_*xue 3 for-loop scala 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 =>{
Run Code Online (Sandbox Code Playgroud)

tir*_*ran 8

尝试 takeWhile

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

要么

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