如果我在Ruby中定义一个方法,它是否属于任何类?

时间:2010-07-22 20:59:03

标签: ruby class methods

我感觉,如果定义一个方法

def test
  puts 'Hi'
end

然后有一个这个方法所属的类(即Unknown#test)。因此,人们可能会列出在其他类“外部”定义的所有方法。或者还有另一种方法可以进行此类上市?

4 个答案:

答案 0 :(得分:7)

如果您在任何类之外定义方法,它将成为Object类的私有方法。

答案 1 :(得分:4)

顶级方法是Object的私有方法。 查看this question

答案 2 :(得分:4)

将来,要查找方法所属的对象,请执行以下操作:

method(:test).owner

输出,例如Object

答案 3 :(得分:1)

然后你可以用

列出Object的所有方法
Object.send(:methods)

Object.send(:private_methods)