Ruby 2.6.0 リファレンスマニュアル > ライブラリ一覧 > stringioライブラリ > StringIOクラス > new
new(string = '', mode = 'r+') -> StringIO
[permalink][rdoc]open(string = '', mode = 'r+') -> StringIO
open(string = '', mode = 'r+') {|io| ... } -> object
StringIO オブジェクトを生成して返します。
与えられた string がフリーズされている場合には、mode はデフォルトでは読み取りのみに設定されます。ブロックを与えた場合は生成した StringIO オブジェクトを引数としてブロックを評価してその結果を返します。
require 'stringio'
s = "foo"
io = StringIO.new(s)
p io.getc # => 102
p io.pos # => 1
p io.size # => 3
io << "bar"
p io.size # => 4
p s # => "fbar"
io.rewind
p io.gets # => "fbar"
StringIO.open("hoge"){|io|
p io.string # => "hoge"
}