代码之家  ›  专栏  ›  技术社区  ›  Andy

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

  •  4
  • Andy  · 技术社区  · 14 年前

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

    def test
      puts 'Hi'
    end
    

    Unknown#test ). 因此,可能有一种可能性列出“在”其他类之外定义的所有方法。或者有其他方法来做这样的上市?

    4 回复  |  直到 14 年前
        1
  •  7
  •   sepp2k    14 年前

    如果在任何类之外定义方法,它将成为 Object 班级。

        2
  •  4
  •   Community chadoh    7 年前

    顶级方法是的私有方法 Object 退房 this question .

        3
  •  4
  •   horseyguy    14 年前

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

    method(:test).owner
    

    Object

        4
  •  1
  •   Cedric H.    14 年前

    然后您可以用

    Object.send(:methods)
    

    Object.send(:private_methods)