我创建了一个名为 SpecialArray 的类,我想自定义 irb 显示的输出类型。当我创建一个实例变量 test_array 并使用 SpecialArray 生成一个数组,并在 irb 中键入“test_array”时,我得到了这个:
1.9.3p194 :051 > test_array
=> [1, 2, 0, 6, 11]
当我使用“puts”时,irb 只返回对象,如下所示:
1.9.3p194 :054 > puts test_array
#<SpecialArray:0x007ff05d0b4960>
但我想让 irb 的行为更像第一个示例,我只输入“test_array:”(即我想在一行中返回数组)。我尝试用我自己的方法覆盖默认 puts 方法,但是没有太大的成功。关于如何做到这一点的任何建议?