我有一个o班级的实例O.我想知道什么o是能力的.
o.methods会给我很多方法.所以我通常这样做o.methods - Object.instance_methods.但这并不简洁.
我想做点什么o.methods - o.class.superclass.instance_methods.也就是说,只是O本身定义的方法.
还有其他方法吗?
tor*_*o2k 16
您可以使用以下方法Module#instance_methods:
o.class.instance_methods(false)
Run Code Online (Sandbox Code Playgroud)
警告文档似乎有误,它说:
如果没有参数,或者参数为false,则返回mod中的实例方法,否则返回mod和mod的超类中的方法.
但实际上参数默认为true:
String.instance_methods.size
# => 184
String.instance_methods(false).size
# => 130
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2653 次 |
| 最近记录: |