我正在处理一个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]