Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 仅当前类的实例方法列表_Ruby - Fatal编程技术网

Ruby 仅当前类的实例方法列表

Ruby 仅当前类的实例方法列表,ruby,Ruby,我有一个类o的实例o。我想知道o能做什么 o.methods会给我很多方法。所以我通常使用o.methods-Object.instance\u方法。但这并不简洁 我想做一些类似于o.methods-o.class.superclass.instance\u methods。也就是说,只是O本身中定义的方法 还有其他方法吗?您可以使用以下方法: 警告文档似乎有误,它说: 没有参数,或参数为false,实例 返回mod中的方法,否则返回mod和mod中的方法 返回超类 但实际上,默认情况下该参数为

我有一个类
o
的实例
o
。我想知道
o
能做什么

o.methods
会给我很多方法。所以我通常使用
o.methods-Object.instance\u方法。但这并不简洁

我想做一些类似于
o.methods-o.class.superclass.instance\u methods
。也就是说,只是
O
本身中定义的方法

还有其他方法吗?

您可以使用以下方法:


警告文档似乎有误,它说:

没有参数,或参数为false,实例 返回mod中的方法,否则返回mod和mod中的方法 返回超类

但实际上,默认情况下该参数为
true

String.instance_methods.size
# => 184
String.instance_methods(false).size
# => 130

o.methods(false)
有效吗?@SergioTulentsev不,这不起作用,因为
methods
false
参数的含义是只列出单例方法,例如
'foo.methods(false)#=>[]
String.instance_methods.size
# => 184
String.instance_methods(false).size
# => 130