このマニュアルは既にメンテナンスが終了したバージョンの Ruby を対象としています。 最新版のマニュアルへ

Ruby 3.0 リファレンスマニュアル

singleton method StringIO.open

open(string = '', mode = 'r+') -> StringIO[permalink][rdoc][edit]
open(string = '', mode = 'r+') {|io| ... } -> object

StringIO オブジェクトを生成して返します。

与えられた string がフリーズされている場合には、mode はデフォルトでは読み取りのみに設定されます。ブロックを与えた場合は生成した StringIO オブジェクトを引数としてブロックを評価してその結果を返します。

[PARAM] string:
生成される StringIO のデータを文字列で指定します。この文字列はバッファとして使われます。StringIO#write などによって、 string 自身も書き換えられます。
[PARAM] mode:
Kernel.#open 同様文字列か整数で指定します。
[EXCEPTION] Errno::EACCES:
string がフリーズされていて、mode が書き込み可能に設定されている場合に発生します。
require 'stringio'

StringIO.open("hoge"){|io|
  p io.string   # => "hoge"
}

[SEE_ALSO] StringIO.new