标签:
Scala内建的控制结构屈指可数,仅有if, while, for, match, try和函数调用而已。
几乎所有的Scala控制结构都会产生某个值(while和 do while虽然不能产生有意义的值,但是也会返回Unit类型的值,称为unit value,写成 () )。unit value () 是Scala的Unit不同于Java的void的地方。通常赋值语句会返回 unit value ()。因此Java代码中经常用于文件读取的代码:
var line = ""
while((line = fr.readline()) != ""){
println("Read: " + line)}
即使换成了Scala风格的也不能运行,因为line = fr.readline()作为赋值语句返回的是 (), 其和字符串 "" 比较总不相等,所以会陷入死循环。
标签:
原文地址:http://www.cnblogs.com/jiang-Xin/p/5731008.html