Работая с образцом в главе 3 «Программирование в Scala», следующий код не работает на Scala 2.8:
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.")
Скала жалуется fromFile
ожидает типа 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
Я угадал, пытаясь ...
for (line <- Source.fromPath(args(0)).getLines _)
И это не сработало. Как в Scala 2.8 заставить getLines
работать?