Ошибка с аргументом по умолчанию в Source.getLines (Scala 2.8.0 RC1) - PullRequest
4 голосов
/ 28 апреля 2010

при условии, что я запускаю 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 ]

5 голосов
/ 28 апреля 2010

Напишите getLines() вместо этого, чтобы использовать значение по умолчанию.

4 голосов
/ 28 апреля 2010

Как говорит Даниэль, вам нужно поставить скобки после имени метода, чтобы это компилировалось. Если определение метода включает в себя круглые скобки, при вызове его необходимо также использовать круглые скобки. Предположительно, это сохраняется, если все аргументы метода имеют значения по умолчанию (как здесь).

...