ファイルを一行ずつ読む
結論から。
Ifstream.new(file_name).scope& `f[ f.lrange.each& `line[ //処理... ] ]
Object.scopeは、引数のメソッドをselfを引数に実行後、self.closeを呼ぶメソッドです。self.closeは引数のメソッドで例外が飛んでも呼ばれます。Ifstreamはデストラクタでファイルを閉じますが、GCの仕様により、デストラクタはいつ呼ばれるか分からない(呼ばれない可能性もある)ので、確実に閉じることが求められます。
Container.lrangeは、self.lbeginとself.lendで構成されるRangeオブジェクトを返します。Ifstream.lbeginとlendは、Istream_line_iteratorを生成します。