Я работаю с объектом IO (некоторый текст вывода STDOUT
), и я пытаюсь преобразовать его в строку, чтобы я мог выполнять некоторую обработку текста. Я хотел бы сделать что-то вроде этого:
my_io_object = $stdout
#=> #<IO:<STDOUT>>
my_io_object.puts('hi') #note: I know how to make 'hi' into a string, but this is a simplified example
#=>hi
my_io_object.to_s
Я пробовал несколько вещей и получил несколько ошибок:
my_io_object.read
#=> IOError: not opened for reading
my_io_object.open
#=> NoMethodError: private method `open' called for #<IO:<STDOUT>>
IO.read(my_io_object)
#=> TypeError: can't convert IO into String
Я прочитал методы класса IO, и я не могу понять, как манипулировать данными в этом объекте. Любые предложения?