ローンパターンでリソースのクローズを確実に

ローンパターン Scalaでは関数をオブジェクトとして扱えるため、以下のような関数を考えることができる def withWriter(filename: String)(op: Writer => Unit) { val writer = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(filename),"UTF-8")) try { op(writer) } finally { writer.close() } } こ…