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

instance method IO::Buffer#transfer

transfer -> IO::BufferRuby 3.1 から[permalink][rdoc][edit]

メモリ領域の所有権を新しい IO::Buffer へ移し、その新しいバッファを返します。

所有権を手放した自身は、どのメモリ領域も指さない状態になります。この状態は IO::Buffer#null? で調べられます。

buf = IO::Buffer.new(4)
buf.set_string("Ruby")

other = buf.transfer
p other.get_string # => "Ruby"

p buf.null? # => true
p buf.size  # => 0

[SEE_ALSO] IO::Buffer#free, IO::Buffer#null?