Skip to content

End of Life Ruby 3.2 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →

instance method

IO::Buffer#pwrite

pwrite(io, from, length, [offset]) → written length or -errno

Writes length bytes from buffer into io, starting at offset in the buffer. If an error occurs, return -errno.

If offset is not given, the bytes are taken from the beginning of the buffer. If the offset is given and is beyond the end of the file, the gap will be filled with null (0 value) bytes.

Example
out = File.open('output.txt', File::RDWR) # open for read/write, no truncation
IO::Buffer.for('1234567').pwrite(out, 2, 3, 1)

This leads to 234 (3 bytes, starting from position 1) being written into output.txt, starting from file position 2.

See also #pread #read #or! #readonly? also in 4.1 · 4.0 · 3.4 · 3.3 · 3.1