Qual è un modo semplice e canonico per leggere un intero file in memoria in Scala? (Idealmente, con controllo sulla codifica dei caratteri.)
Il meglio che posso inventare è:
scala.io.Source.fromPath("file.txt").getLines.reduceLeft(_+_)
o dovrei usare uno dei terribili idiomi di Java , il migliore dei quali (senza usare una libreria esterna) sembra essere:
import java.util.Scanner
import java.io.File
new Scanner(new File("file.txt")).useDelimiter("\\Z").next()
Dalla lettura delle discussioni sulla mailing list, non è chiaro per me che scala.io.Source sia addirittura la libreria di I / O canonica. Non capisco esattamente quale sia lo scopo previsto.
... Vorrei qualcosa di estremamente semplice e facile da ricordare. Ad esempio, in queste lingue è molto difficile dimenticare il linguaggio ...
Ruby open("file.txt").read
Ruby File.read("file.txt")
Python open("file.txt").read()