ruby中定义的method_missing在哪里

Flu*_*Ind 3 ruby

我用ruby-1.9.3.

method_missing method我来的时候,我试图找出这个方法的定义.我看一下Ruby Doc,发现方法已定义BasicObject,但是当我BasicObject.methods.grep /^method/在irb中使用时,它给了我一个没有任何method_missing方法的结果数组,然后,我尝试了Kernel.methods.grep /^method/,但仍然没有method_missing方法.

你能帮助我吗?我在哪里可以找到这种方法?

Aru*_*hit 8

使用Method#owner知道哪些方法在类中定义.

method(:method_missing).owner # => BasicObject
Run Code Online (Sandbox Code Playgroud)


p.m*_*los 6

这是一种私人方法:尝试:

BasicObject.private_methods.grep /missing/
Run Code Online (Sandbox Code Playgroud)