我想知道是否有一个 Ruby 方法调用仅显示由其调用的 Ruby 对象定义的方法,而不是由其祖先类定义的所有方法,这就是methods
似乎是这样。
methods
采用可选的布尔参数,该参数指定是否还列出对象的类及其超类的方法或仅列出对象的单例方法。所以你可以做obj.methods(false)
只获取定义在的单例方法obj
.
如果您想要由对象的类定义的方法,而不是由其超类定义的方法,您可以通过调用来获取instance_methods(false)
在对象的类上,所以它是obj.class.instance_methods(false)
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)