Ruby对象打印格式

时间:2008-12-03 05:11:37

标签: ruby

请考虑以下事项:

irb(main):001:0> class A
irb(main):002:1> def initialize
irb(main):003:2> @string = "my string"
irb(main):004:2> end
irb(main):005:1> def to_s
irb(main):006:2> puts @string
irb(main):007:2> end
irb(main):008:1> end
=> nil
irb(main):009:0> a = A.new
=> #<A:0x2ea606c @string="my string">
irb(main):010:0> puts a
my string
#<A:0x2ea606c>
=> nil

当'puts'输出字符串my does时,它还附加了对象的引用?

有没有摆脱这种行为?我想要输出的是字符串@string,就像类'to''方法

中定义的那样

谢谢,

RM

1 个答案:

答案 0 :(得分:4)

您希望您的to_s方法只返回@string,而不是puts @string