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

发布于 2024-09-10 21:10:42 字数 172 浏览 4 评论 0原文

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

def test
  puts 'Hi'
end

,那么这个方法就属于一个类(即Unknown#test)。因此,人们可能有可能列出其他类“外部”定义的所有方法。或者还有另一种方法来进行此类列表?

I have feeling, that if one defines a method

def test
  puts 'Hi'
end

then there is a class to which this method belongs to (i.e. Unknown#test). So one probably has a possibility to list all methods defined "outside" of other classes. Or there is another way to do such listing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

影子是时光的心 2024-09-17 21:10:42

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

If you define a method outside of any class, it will become a private method of the Object class.

伴梦长久 2024-09-17 21:10:42

顶级方法是Object 的私有方法。
查看此问题

A top-level method is a private method of Object.
Check out this question.

握住我的手 2024-09-17 21:10:42

将来,要查找方法属于哪个对象,请执行以下操作:

method(:test).owner

输出,例如您的示例是 Object

In future, to find what object a method belongs to, do this:

method(:test).owner

Output, for your example is Object

[旋木] 2024-09-17 21:10:42

列出 Object 的所有方法

Object.send(:methods)

然后您可以使用或

Object.send(:private_methods)

And you can then list all the methods of Object with

Object.send(:methods)

or

Object.send(:private_methods)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文