2008-12-03 106 views
1

考虑以下几点: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 

当“放”输出字符串我是否也追加对象的REFFERENCE?

无论如何摆脱这种行为?我想outputed是甫一字符串@string作为阶级“to_s”的方法定义

感谢,

RM

回答

4

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