write(io, offset = 0, length = nil) -> IntegerRuby 3.1 から[permalink][rdoc][edit](untyped, untyped) → untyped-
バッファの内容を io に書き込みます。
バッファの offset の位置から最大 length バイトを、1 回の操作で io に書き込みます。短い書き込みも正常な結果で、書き込めたバイト数がそのまま返ります。
書き込みは io の現在の位置から行われ、io の位置は書き込んだ分だけ進みます。
- [PARAM]
io: - 書き込み先の IO を指定します。
- [PARAM]
offset: - 書き込む内容の開始位置を、バッファの先頭からのバイト数で指定します。省略した場合は 0 です。
- [PARAM]
length: - 書き込む最大のバイト数を整数で指定します。省略するか nil を指定した場合は、バッファの大きさから offset を引いた値、つまりバッファの残り全体になります。 0 を指定した場合は何もしません。
- [RETURN]
- 書き込んだバイト数を返します。書き込みに失敗した場合は errno を負にした整数を返します。例外は発生しません。
- [EXCEPTION]
ArgumentError: - offset と length の合計がバッファの大きさを超える場合に発生します。
buf = IO::Buffer.for("Ruby!") File.open("test.txt", "w") do |io| p buf.write(io, 0, 5) # => 5 end p File.read("test.txt") # => "Ruby!"[SEE_ALSO] IO::Buffer#pwrite, IO::Buffer#read
- [PARAM]