Ruby元编程之梦中情人method_missing方法详解

2019-09-25 09:42:07于丽

def respond_to?(method_id, include_private = false)
  if method_id.to_s =~ /^what_is_[w]+/
    true
  else
    super
  end
end

要告诉别人,你的类虽然暂时还没有这个方法,但是其实是能够响应这方法的。

** 总结 **

在每个 Ruby 程序员的生活中,这仨方法扮演了重要的角色。define_method 是你的好基友,method_missing 是个如胶似漆但也需相敬如宾的情妇,而 respond_to? 则是你的爱子,如此无虞。