我希望 irb 默认不打印我的对象属性。那可能吗?例如,我有:
class Test
@tmp = nil
def initialize(str)
@tmp = str
self
end
end
Run Code Online (Sandbox Code Playgroud)
我得到:
irb> t = Test.new("hello")
=> #<Test:0x18f6198 @tmp="hello">
Run Code Online (Sandbox Code Playgroud)
我不想看到@tmp="hello"部分。
IRBinspect默认调用返回值。如果您想在 IRB 中抑制或更改该输出,只需inspect在您的类中覆盖即可。
class Test
def initialize(str)
@tmp = str
end
def inspect
'<TEST CLASS>'
end
end
test = Test.new('foobar')
#=> <TEST CLASS>
Run Code Online (Sandbox Code Playgroud)