en ja en en ja ja ja ja en ja en ja en en
instance method Object#respond_to_missing? (Ruby 2.6.0)
自身が symbol で表されるメソッドに対し BasicObject#method_missing で反応するつもりならば真を返します。
Object#respond_to? はメソッドが定義されていない場合、デフォルトでこのメソッドを呼びだし問合せます。
BasicObject#method_missing を override した場合にこのメソッドも override されるべきです。
false を返します。
[PARAM] symbol:
[PARAM] include_private:
private method も含めたい場合に true が渡されます
例 class Sample def method_missing(name, *args) if name =~ /^to_*/ [name, *args] # => [:to_sample, "sample args1", "sample args2"] return else super end end def respond_to_missing?(sym, include_private) (sym =~ /^to_*/) ? true : super end end s = Sample.new s.to_sample("sample args1", "sample args2") s.respond_to?(:to_sample) # => true s.respond_to?(:sample) # => false
[SEE_ALSO] Object#respond_to?, BasicObject#method_missing