IOオブジェクト(一部はSTDOUT
出力テキスト)を使用しています。文字列に変換して、テキスト処理を行うことができます。私はこのような何かをしたいと思います:IOオブジェクトをRubyの文字列に変換するにはどうすればよいですか?
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
私はいくつかのことを試してみましたが、いくつかのエラーを得ている:私はIOクラスのメソッドを読んできた、と私はできません
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
をそのオブジェクトのデータを操作する方法を理解します。助言がありますか?
を「例外IOError:読み込み用に開かれていないが、」適切な手がかりにする必要があります。上記のエラーを検索してみてください。 –
あなたは何をしようとしているのか明確には言いませんでした。あなたが何をしたいのかを説明してください。私たちはあなたにもっと良い方法を与えることができます。どのようにSTDOUTテキストを取得していますか? –
ありがとう、@ theTinMan。明快さの欠如に対する謝罪 - それは私の混乱の反映です。私はこれを解決するために、STDOUTをStringIOオブジェクトに向けることで解決しました。 – MothOnMars