仅在模块中列出方法?

nev*_*ame 32 ruby

我想知道如何列出模块中的所有方法,但不包括继承的方法.

例如.

module Software
  def exit
    puts "exited"
  end
end

puts Software.methods
Run Code Online (Sandbox Code Playgroud)

将列出不仅退出,而且所有继承的方法.

是否可以列出退出?

谢谢

sep*_*p2k 46

其实Software.methods不会列出exit.Software.instance_methods将列出exit以及任何继承的方法(在这种情况下,这些方法都没有,因为除非包含另一个模块,否则模块不会继承任何方法).Software.instance_methods(false)将只列出在中定义的方法Software.


Bea*_*ish 25

Software.public_instance_methods
Run Code Online (Sandbox Code Playgroud)

似乎适用于你的例子.