初めての Scala プログラムとして、XML ファイルをあるスキーマから別のスキーマに変換する小さなユーティリティを作成しようとしています。
ファイルの内容を取得するメソッドの作成を開始しました。
def loadFile(filename: String, encoding: String = "utf-8"):Option[String] = {
try
{
val source = scala.io.Source.fromFile(filename, encoding)
val contents = source.mkString
source.close()
return Some(contents)
}
catch
{
return None
}
}
しかし、それはコンパイルされません。行からエラーメッセージとして「value apply is not a member of Nothing」と「value isDefinedAt is not a member of Nothing」が返ってきますreturn None
。
Option を返す例はすべて一致を使用していますが、ここでは意味がありません。なんらかの理由でファイルを読み取れなくても失敗しないようにしたいだけです。
この場合、どうすればよいですか?Scalaでこの種のことを行うためのパターンはありますか?