Object#to_yaml_properties
是一种方法,可用于列出要序列化为YAML的实例变量,而无需重新实现整个序列化过程。如果要排除某些实例变量,可以使用super
,然后过滤掉您不想要的变量。
是否有一个等效方法允许您在调用Object#inspect
时仅列出某些变量,或者我是否必须重新实现整个方法?
答案 0 :(得分:1)
vanilla Ruby中没有这样的机制。
从好的方面来说,您可以实现它,然后在重新定义MyClass#inspect
时使用它。您不必为每个类完成所有工作,只需创建一个允许您设置检查的类级方法。
或者您可以添加自己的Object#limited_inspect
并重新定义Kernel#p
(或添加您自己的快捷方式)以使用所有实例变量减去可能被排除的任何变量。