次のような単純な構造から戻り値を返すことができないのは残念だということがわかりました。try ... catch ... finally
def foo: String = {
val in = new BufferedReader(.....)
try {
// val in = new BufferedReader(.....) -- doesn't matter
in.readLine
}
catch {
case e: IOException => e.printStackTrace()
}
finally {
in.close()
}
}
このコードはコンパイルされません。ライブラリや高レベルの構造などを使用してコンパイルを期待させる方法はありますか? 純粋な Scala の能力をプログラミング言語として使用するだけで、それを実現したいと考えています。