【发布时间】:2014-03-05 19:38:15
【问题描述】:
我目前正在编辑一个类的 to_s 方法以使其输出更漂亮的东西。在最后一行,object_id 包含#<Profile:0x007fde5aadd280>。在调用 to_s 后,无需显式地从输出中删除此 object_id 的任何方法
【问题讨论】:
我目前正在编辑一个类的 to_s 方法以使其输出更漂亮的东西。在最后一行,object_id 包含#<Profile:0x007fde5aadd280>。在调用 to_s 后,无需显式地从输出中删除此 object_id 的任何方法
【问题讨论】:
您需要编写自己的#inspect 方法。
class Foo
def inspect
"<#%s>" % self.class
end
end
Foo.new # => <#Foo>
阅读文档Object#inspect
返回一个字符串,其中包含 obj 的人类可读表示。默认情况下,显示类名和实例变量列表及其值(通过对每个变量调用检查)。 用户定义的类应该重写这个方法以更好地表示 obj。重写此方法时,它应该返回一个编码与默认外部编码兼容的字符串。
【讨论】: