【发布时间】:2012-12-13 17:52:59
【问题描述】:
这是我在 Scala 上的第一个程序。所以,我希望我能获得愚蠢的免疫力。
代码是来自Programming in Scala 的sn-p 的单行修改。
我所做的只是
- 读取文本文件
- 迭代文件的行
- 打印文件中行的最大长度。
这行得通。
现在,当我尝试 用
打印每一行以及该行的长度println (eachLine + ":" + eachLine.length)
它会引发错误。
我从这个link 中了解到我应该在某处添加一个括号。但是在哪里以及为什么?
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)
}
}
错误:值 maxWidth 不是 Unit 的成员 //可能的原因:可能在 `value maxWidth' 之前缺少分号?
【问题讨论】:
-
谢谢@DominicBou-Samra :-)
标签: scala