如何在 ruby 中查看对象的所有可用方法。我在输入 File 时使用的是 aptana IDE。没有显示任何方法。我来自 eclipse/java 背景。
谢谢
有几种方法:
obj.methods
obj.public_methods
obj.private_methods
obj.protected_methods
obj.singleton_methods
更新
要将对象方法与所有继承的方法分开,您可以执行以下操作:
obj.methods(假)
正如评论中提到的 Tempus 一样,以下命令对于将当前对象方法与 Object(基类)继承方法区分开来非常有帮助:
obj.methods - 对象.methods
true
如果要忽略超类中定义的方法,可以传递给方法:
obj.methods(true)
obj.public_methods(true)
obj.private_methods(true)
obj.protected_methods(true)
obj.singleton_methods(true)
或者,如果您只想删除Object
类中定义的最常用方法,则需要附加- Object.methods
或- Object.instance_methods
,具体取决于obj
是类还是类的实例。
如果你有一个 Ruby 解释器正在运行,<object>.methods
它将显示对象上的可用方法。在 Eclipse 中,当我键入内容时,File.
什么都没有发生,直到我执行了 Content Assist 命令(CTRL+空格)。那时我确实得到了一个方法列表。
我还要注意,obj.methods
它不会返回已排序的方法名称,因此您可能想要执行obj.methods.sort
.
您可以File.methods
在交互式 Ruby 解释器中调用以查看所有可用的方法。我不确定您正在使用的 IDE 中是否有办法,因为我以前没有使用过。