ruby - ruby中定义的method_missing在哪里

标签 ruby

我使用 ruby​​-1.9.3。

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

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

最佳答案

使用Method#owner知道在哪个类中定义了哪个方法。

method(:method_missing).owner # => BasicObject

关于ruby - ruby中定义的method_missing在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20513233/

相关文章:

ruby - Bundler 在直接调用 .rb 文件时工作,在通过其他 ruby​​ 脚本的 exec 调用时失败

ruby - bundle exec rspec spec/=> RUBYOPT : -F (RuntimeError) 中的无效开关

ruby-on-rails - Rake Task 特定类(class)在哪里生活? ( rails 3)

ruby - Ruby Sass弃用-如何查看我的版本是否被弃用

ruby - 如何使用 RMagick 和自动换行在图像上呈现文本?

mysql - 使用 ruby​​ 访问现有的 MySql 数据库(路径?)

ruby - 在 Ruby 中验证参数?

ruby - 有用的 gem 版本应该有 1.0 版吗?

19-1-1 到 1900-01-01 的 Ruby Date.strftime 格式日期不起作用

ruby-on-rails - 如何在 Ruby on Rails 网站上禁用显式堆栈跟踪