这是我在 Scala 上的第一个程序。所以,我希望我能获得愚蠢的免疫力。
该代码是对来自Programming in Scala
.
我所做的就是
- 读取文本文件
- 迭代文件的行
- 打印文件中行的最大长度。
这样可行。
现在,当我尝试打印每一行以及行的长度时
println (eachLine + ":" + eachLine.length)
它抛出一个错误。
我从 SO 中的这个链接了解到我应该在某处添加一个括号。但是在哪里以及为什么?
import scala.io.Source
class Loops {
}
object Loops{
def main (args:Array[String]){
printAllLines("Hello123.txt")
}
def printAllLines(fileName:String){
var maxWidth=0
var lineIterator=Source.fromFile(fileName).getLines;
lineIterator.foreach((eachLine:String) =>
println (eachLine + ":" + eachLine.length)
maxWidth=maxWidth.max(eachLine.length) //Compilation ERROR at this line
)
Console.out.println (maxWidth)
}
//这行得通!
def printAllLinesFor(fileName:String){
var maxWidth=0
for (eachLine<-Source.fromFile(fileName).getLines.toList){
println (eachLine + ":" +eachLine.length)
maxWidth=maxWidth.max(eachLine.length)
}
println (maxWidth)
}
}
错误:value maxWidth 不是 Unit 的成员 //可能的原因:可能在 `value maxWidth' 之前缺少分号?