如何在ruby中显示没有祖先方法的类的所有方法?

时间:2013-12-28 21:12:14

标签: ruby

要显示由特定类定义的所有方法,但没有在祖先类中定义的方法,我就是这样写的。

foo.methods - foo.class.superclass.methods

有更好的方法吗?

1 个答案:

答案 0 :(得分:5)

您可以使用以下方法获取实例方法:

foo.class.instance_methods(false)

http://ruby-doc.org/core-1.9.3/Module.html#method-i-instance_methods中所述。

参数的文档在描述参数真实时所包含的内容时使用术语“超类”,但根据我的测试,我相信所有祖先提供的方法都是基于此值排除/包含的,而不仅仅是来自超类。