An IO which writes to a number of underlying writer IOs.
io1 = IO::Memory.new io2 = IO::Memory.new writer = IO::MultiWriter.new(io1, io2) writer.puts "foo bar" io1.to_s # => "foo bar\n" io2.to_s # => "foo bar\n"
Creates a new IO::MultiWriter which writes to writers.
Creates a new IO::MultiWriter which writes to writers.
Closes this IO.
Returns true if this IO is closed.
Flushes buffered data, if any.
Reads at most slice.size bytes from this IO into slice.
If #sync_close? is true, closing this IO will close all of the underlying IOs.
If #sync_close? is true, closing this IO will close all of the underlying IOs.
Writes the contents of slice into this IO.
IO
IO
Reference
Reference
Object
Object
Creates a new IO::MultiWriter which writes to writers. If sync_close is set, calling #close calls #close on all underlying writers.
Creates a new IO::MultiWriter which writes to writers. If sync_close is set, calling #close calls #close on all underlying writers.
Reads at most slice.size bytes from this IO into slice. Returns the number of bytes read, which is 0 if and only if there is no more data to read (so checking for 0 is the way to detect end of file).
io = IO::Memory.new "hello" slice = Bytes.new(4) io.read(slice) # => 4 slice # => Bytes[104, 101, 108, 108] io.read(slice) # => 1 slice # => Bytes[111, 101, 108, 108] io.read(slice) # => 0
If #sync_close? is true, closing this IO will close all of the underlying IOs.
If #sync_close? is true, closing this IO will close all of the underlying IOs.
© 2012–2020 Manas Technology Solutions.
Licensed under the Apache License, Version 2.0.
https://crystal-lang.org/api/0.35.1/IO/MultiWriter.html