【问题标题】:Remove object_id from to_s call从 to_s 调用中删除 object_id
【发布时间】:2014-03-05 19:38:15
【问题描述】:

我目前正在编辑一个类的 to_s 方法以使其输出更漂亮的东西。在最后一行,object_id 包含#<Profile:0x007fde5aadd280>。在调用 to_s 后,无需显式地从输出中删除此 object_id 的任何方法

【问题讨论】:

    标签: ruby string class object


    【解决方案1】:

    您需要编写自己的#inspect 方法。

    class Foo
      def inspect
        "<#%s>" % self.class
      end
    end
    
    Foo.new # => <#Foo>
    

    阅读文档Object#inspect

    返回一个字符串,其中包含 obj 的人类可读表示。默认情况下,显示类名和实例变量列表及其值(通过对每个变量调用检查)。 用户定义的类应该重写这个方法以更好地表示 obj。重写此方法时,它应该返回一个编码与默认外部编码兼容的字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      • 2012-12-27
      • 2019-05-17
      • 1970-01-01
      • 1970-01-01
      • 2017-12-16
      相关资源
      最近更新 更多