I recently read a nice post on using StringIO in Ruby. What the author doesn\'t mention, though, is that StringIO is just an \"I.\" There\'s no \
StringIO
Like other IO-type objects in Ruby, when you write to an IO, the character pointer advances.
>> s = StringIO.new => # >> s << 'foo' => # >> s << 'bar' => # >> s.pos => 6 >> s.rewind => 0 >> s.read => "foobar"