こんにちは、sheepman です。

StringIO#close などのメソッドが IO#close と違い self を返すのは意図された
動作でしょうか。

$ ruby -rstringio -ve '
p StringIO.new("hoge").close
p File.open("hoge", "w").close
'
ruby 1.9.0 (2005-01-27) [i686-linux]
#<StringIO:0x401c1034>
nil

close_read, close_write, print, printf, puts なども nil でなく self を返します。

-- 
sheepman / TAMURA Takashi
sheepman / tcn.zaq.ne.jp http://sheepman.parfait.ne.jp/