您的理解是错误的。
当条件在循环体内时,将发生以下情况:
// thisfor(x <- coll) if(condition) doSomething// will translate tocoll.foreach{ x => if(condition) doSomething }与条件本身在生成器中相反:
// thisfor(x <- coll if(condition)) dosomething// will translate tocoll.withFilter(x => condition).foreach{ x => dosomething }您可以查看Scala语言规范6.16了解更多详细信息。



