books
と呼ぶ複雑なオブジェクトの配列を扱っていますBook
。問題は、 を呼び出すとputs "#{books.inspect}"
、ruby がバイナリのストリーム (utf8 文字を読み取ることができない) を出力することです。ただし、 を呼び出すと、問題puts #{books[0].to_str}"
の を説明する簡潔できれいな出力が得られbook
ます。関連性があるかどうかはわかりませんBook
が、サブクラスです (親クラスと呼ぶことができますItem
)。books.length=1
Ruby.to_s
はと.inspect
が同義であることを示唆していますが、実際には明らかに異なる結果を提供しています。なぜこれが起こっているのか知っている人はいますか?本のコレクション全体から私が望む素晴らしい出力を得る方法について提案を提供できますか?
その他の情報:
[chk ~ ]$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]