【发布时间】:2013-12-09 19:39:10
【问题描述】:
如何运行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{_ != ""}) -
谢谢@senia!使用
!=来比较Strings 是否安全,而不是!equals("")? -
是的。在
scala中,==是equals的空安全等效项(它调用equals)。还有另一个用于引用相等的运算符(你不需要它)。
标签: scala for-loop conditional-statements