Работа через образец в главе 3 «Программирование в Scala», не кажется, следующий код работает на Scala 2.8:Чтение строки из Пример кода в «Программирование в Scala»
import scala.io.Source
if (args.length > 0) {
for (line <- Source.fromFile(args(0)).getLines)
print(line.length + " " + line)
}
else
Console.err.println("Filename required.")
Scala жалуется fromFile
ожидание type java.io.File
. С немного поиска, кажется, что я должен использовать вместо fromPath
...
for (line <- Source.fromPath(args(0)).getLines)
Однако, теперь я получаю загадочную ошибку от этого (озадачивает новичку в любом случае):
... :4: 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 occurred in an application involving default arguments.
for (line <- Source.fromPath(args(0)).getLines)
^
one error found
I угадал, что пытался ...
for (line <- Source.fromPath(args(0)).getLines _)
И это не помогло. Какой способ Scala 2.8 сделать работу getLines
?
http://stackoverflow.com/questions/2732487/error-with-default-argument-in-source-getlines-scala-2-8-0-rc1 –
ах действительно, пропустил это при ответе –