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

如果我在Ruby中定义一个方法,它属于任何类吗?,ruby,class,methods,Ruby,Class,Methods,我有一种感觉,如果一个人定义了一种方法 def test puts 'Hi' end 然后这个方法属于一个类(即Unknown#test)。因此,我们可能有可能列出所有在其他类之外定义的方法。或者有另一种方法可以这样列出?如果在任何类之外定义一个方法,它将成为对象类的私有方法。顶级方法是对象的私有方法。 签出。以后,要查找方法所属的对象,请执行以下操作: method(:test).owner 例如,输出是Object,然后可以使用 Object.send(:methods) 或 Ob

我有一种感觉,如果一个人定义了一种方法

def test
  puts 'Hi'
end

然后这个方法属于一个类(即
Unknown#test
)。因此,我们可能有可能列出所有在其他类之外定义的方法。或者有另一种方法可以这样列出?

如果在任何类之外定义一个方法,它将成为
对象
类的私有方法。

顶级方法是
对象
的私有方法。
签出。

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

method(:test).owner

例如,输出是
Object

,然后可以使用

Object.send(:methods)

Object.send(:private_methods)