Skip to content

Maintenance Ruby 3.4 gets fixes, but no new features. Switch to Ruby 4.0 →

instance method

IO::Buffer#transfer

() -> ::IO::Buffer
transfer → new_io_buffer

Transfers ownership of the underlying memory to a new buffer, causing the current buffer to become uninitialized.

Example
buffer = IO::Buffer.new('test')
other = buffer.transfer
other
# =>
# #<IO::Buffer 0x00007f136a15f7b0+4 SLICE>
# 0x00000000  74 65 73 74                                     test
buffer
# =>
# #<IO::Buffer 0x0000000000000000+0 NULL>
buffer.null?
# => true
See also #to_s #valid? #slice #values also in 4.0 · 3.3 · 3.2 · 3.1