豊福@パパイヤです。

前田さん
> $gets = proc { |f| f.gets }

>   while line = $gets.call(file)

  一瞬オブジェクトとメソッドの位置が逆?と妙な気分に
なりました。

  $gets = proc { レシーバー.gets }

  while line = file.some_method($gets)

みたいな書き方ってないのでしょうか。

>       Dir.foreach(path) do |file|
> 	if file != "." and file != ".."

  普段 "." と ".." は使うことが少ないような気がする
ので Dir.foreach の引数増やして

   Dir.foreach(path, pochi_and_pochipochi = 0)

ってのはどうですか。
---
			豊福@パパイヤ
			unbound / papaya.juice.or.jp
			toyofuku / juice.or.jp