Что такое простой и канонический способ чтения всего файла в памяти Scala? (. В идеале, с контролем над кодированием символов)Прочтите весь файл в Scala?
Лучшее, что я могу придумать это:
scala.io.Source.fromPath("file.txt").getLines.reduceLeft(_+_)
или я должен использовать один из Java's god-awful idioms, лучшие из которых (без использования внешней библиотеки) кажется:
import java.util.Scanner
import java.io.File
new Scanner(new File("file.txt")).useDelimiter("\\Z").next()
От чтения списка рассылки дискуссии, это не для меня ясно, что scala.io.Source даже должна быть каноническая библиотека I/O. Я не понимаю, какова его цель.
... Я хотел бы что-то мертвое - просто и легко запомнить. Например, на этих языках очень трудно забыть идиомы ...
Ruby open("file.txt").read
Ruby File.read("file.txt")
Python open("file.txt").read()
Java разве это плохо, если вы знаете правильные инструменты. import org.apache.commons.io.FileUtils; FileUtils.readFileToString (новый файл («file.txt», «UTF-8») – smartnut007
Этот комментарий не соответствует точке дизайна языка. Любой язык, который имеет доступную простую библиотечную функцию для точно такой операции, которую вы хотите выполнить, как его синтаксис вызова функции. Учитывая бесконечную и 100% сохраненную в памяти библиотеку, все программы будут реализованы с помощью одного вызова функции. Язык программирования хорош, когда ему требуется меньше предварительно готовых компонентов, чтобы уже существовать, чтобы достичь конкретный результат. –