stdlib/string_streams.rb
tests/_examples/stdlib/string_streams.rb in the metorex repository.
# A StringIO is opened over a buffer in a mode written as a string or as the
# flags File names, and a frozen buffer can only be read.
require "stringio"
held = StringIO.new "example", "r"
p held.closed_read?
p held.closed_write?
buffer = +"example"
numbered = StringIO.new buffer, IO::WRONLY
p numbered.closed_read?
p numbered.closed_write?
emptied = +"gone"
StringIO.new emptied, "w"
p emptied
begin
StringIO.new "frozen".freeze, "w"
rescue Errno::EACCES => problem
puts problem.class
end
opening = +"first"
stream = StringIO.new opening
replacement = +"second"
stream.reopen replacement
p stream.string
Output:
false
true
true
false
""
Errno::EACCES
"second"