ファイルハンドルのクローズ

例えばPerlでテキストファイルを読み書きするには以下のようなコードを書く

open $file,"hoge.txt";
while(<file>){
  //行単位の処理
}
close $file;

という感じに開いたハンドルはクローズするのが普通だ。これはJavaなんかでもそうだ。
ところがrubyではこう書けば明示的にクローズしなくてもいいらしい

File.open("hoge.txt"){|file|
  //行単位の処理
}

キモはopen関数のあとにブロックで処理を書いているところ。
このように書くとブロックを抜ける際に自動でクローズ処理をしてくれるとのことだ。