オブジェクトとモジュールを指定すると、オブジェクトがモジュールによって拡張されたことをどのようにチェックするのですか?インスタンスがRubyモジュールによって拡張されているかどうかを判断するには?
対応する延長がないようですか?拡張がある( -
o.singleton_class < Foobar
そのシングルトンメソッドのすべてが住んでいる場所オブジェクトのシングルトンクラスがある:メソッド
moirb(main):001:0> module Foobar
irb(main):002:1> end
=> nil
irb(main):003:0> o=Object.new
=> #<Object:0x000001010d1400>
irb(main):004:0> o.class.include? Foobar
=> false
irb(main):005:0> o.extend Foobar
=> #<Object:0x000001010d1400>
irb(main):006:0> o.class.include? Foobar
=> false
irb(main):007:0> o.class.included_modules
=> [PP::ObjectMixin, Kernel]
irb(main):016:0* o.methods.grep /extend/
=> [:extend]
irb(main):019:0> o.class.methods.grep /extend/
=> [:extend]
同じ単語を持つ「インクルード」と「インクルード」について考えたことはありません以前は異なった意味がありました。 –