すみません、もう一つ教えて下さい。
rubyというかプログラムを書くとき全般の注意として、
ファイルopenとcloseはなるべく近くに書くようにと
ありました。
恐らくclose漏れを警戒しているのだと思います。

yieldを使えば、以下コードでそれを実現できます。

def fileInterface
f= open()
begin
yield f
ensure
f.close
end
end

yieldを使わないパターンでは、
closeを近くにかけないのですが解決策あるでしょうか。
def open
@f= open()
return @f
end

def close
@f.close
end

openメソッド実行
・・・
・・・(大量の処理)
closeメソッド実行