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

instance method IO::Buffer#set_string

set_string(string, offset = 0, length = nil, source_offset = 0) -> IntegerRuby 3.1 から[permalink][rdoc][edit]

文字列 string の内容をバッファに書き込みます。書き込んだバイト数を返します。

[PARAM] string:
書き込む内容を String で指定します。
[PARAM] offset:
書き込みを開始する位置をバッファの先頭からのバイト数で指定します。
[PARAM] length:
書き込むバイト数を指定します。省略した場合は string 全体を書き込みます。
[PARAM] source_offset:
string のどの位置から読み出すかをバイト数で指定します。
[EXCEPTION] ArgumentError:
offset と length の合計がバッファのバイト数を超える場合に発生します。
[EXCEPTION] IO::Buffer::AccessError:
書き込みできないバッファに対して呼び出した場合に発生します。詳しくは IO::Buffer::AccessError を参照してください。
buf = IO::Buffer.new(8)

p buf.set_string("Ruby")   # => 4
p buf.get_string           # => "Ruby\x00\x00\x00\x00"

buf.set_string("XY", 6)
p buf.get_string           # => "Ruby\x00\x00XY"

IO::Buffer.new(2).set_string("TOOLONG") # ~> ArgumentError

[SEE_ALSO] IO::Buffer#get_string