StringIO の
% ruby -rstringio -e 'f = StringIO.new
f.seek 10
p f.read
p f.read
'
nil
nil
という挙動は IO の
% echo -n > 0
% ls -l 0
-rw-r--r-- 1 akr akr 0 Dec 10 15:37 0
% ruby -e 'f = open("0")
f.seek 10
p f.read
p f.read
'
""
nil
という挙動と一貫してないんじゃないでしょうか。
どちらをどちらに合わせるべきかという点に関しては、StringIO のような挙
動を IO にさせるには read(2) だけではできないので、StringIO を IO にあ
わせるほうが良いと思います。
--
[田中 哲][たなか あきら][Tanaka Akira]