superclass=Data
type=class
library=stringio
extended=
included=

文字列に [[c:IO]] と同じインタフェースを持たせるためのクラスです。

例:

  require "stringio"
  sio = StringIO.new("hoge", 'r+')
  p sio.read                 #=> "hoge"
  sio.rewind
  p sio.read(1)              #=> "h"
  sio.write("OGE")
  sio.rewind
  p sio.read                 #=> "hOGE"

=== 例外
StringIO オブジェクトは大抵の場合 IO オブジェクトと同じ例外を発生させます。
例えば次の例では write は IOError を発生させます。

  require "stringio"
  sio = StringIO.new("hoge")
  sio.close
  sio.write("a")
  # => in `write': not opened for writing (IOError)
