Scalaでそろそろまとまったコードを書こうかなあ~と思って、ファイルIOを調べてみると愕然。
Scalaの解説とかを見てると、テキストファイルからの読み込みに、
scala.io.Source
というクラスを使ってます。
名前からなんとなーくいやな感じが漂っていたのですが、(そしてそのときは無視していたのですが)
改めて、公式サイトのAPIリファレンスを見ると、案の定、ソースファイルを読み込むために作られた、などと書いてあります。
UTF8以外のエンコーディングを使いたいとか、バイナリファイルを読み書きしたいなら、java.io.なんたらを再利用してね、ということなのでしょう。
となると、ここでの選択肢は・・・
・Javaのクラスをそのまま使う。
利点 --> なんのかんの言っても「標準」なので、後から手を入れやすいだろう、といういこと。
欠点 --> せっかくScalaで書いても、Javaの回りくどいやり方を引きずってしまうこと。
・Javaのクラスをラップする。
利点 --> Scalaらしい簡潔なコードになるだろうこと。
欠点 --> 俺専用ラッパになるため、後から標準的なものが出てきたときに問題になりそうなこと。
あー、悩ましい。
Scalaの解説とかを見てると、テキストファイルからの読み込みに、
scala.io.Source
というクラスを使ってます。
名前からなんとなーくいやな感じが漂っていたのですが、(そしてそのときは無視していたのですが)
改めて、公式サイトのAPIリファレンスを見ると、案の定、ソースファイルを読み込むために作られた、などと書いてあります。
UTF8以外のエンコーディングを使いたいとか、バイナリファイルを読み書きしたいなら、java.io.なんたらを再利用してね、ということなのでしょう。
となると、ここでの選択肢は・・・
・Javaのクラスをそのまま使う。
利点 --> なんのかんの言っても「標準」なので、後から手を入れやすいだろう、といういこと。
欠点 --> せっかくScalaで書いても、Javaの回りくどいやり方を引きずってしまうこと。
・Javaのクラスをラップする。
利点 --> Scalaらしい簡潔なコードになるだろうこと。
欠点 --> 俺専用ラッパになるため、後から標準的なものが出てきたときに問題になりそうなこと。
あー、悩ましい。