Source.getLines中的默认参数出错(Scala 2.8.0 RC1)

时间:2010-04-28 19:20:23

标签: scala scala-2.8

假设我运行Scala 2.8.0 RC1,下面的scala代码应打印出文件“c:/hello.txt”的内容

for ( line<-Source.fromPath( "c:/hello.txt" ).getLines )    
        println( line )

然而,当我运行它时,我收到以下错误

<console>:10: error: missing arguments for method getLines in class Source;
follow this method with `_' if you want to treat it as a partially applied function
Error occured in an application involving default arguments.
       val it = Source.fromPath("c:/hello.scala").getLines

根据我的理解,Scala应该使用默认参数“compat.Platform.EOL”作为“getLines”。我想知道我是否做错了或者它是scala 2.8中的错误

由于

2 个答案:

答案 0 :(得分:5)

改为编写getLines(),以便使用默认值。

答案 1 :(得分:4)

正如丹尼尔所说,你需要在方法名称之后加上括号来编译。如果方法定义包括括号,则在调用它时,还必须使用括号。假设方法的所有参数都具有默认值(如此处的情况),这仍然成立。