タグ

metaclassとoiaxに関するnabinnoのブックマーク (1)

  • Object#extend (Ruby 3.3 リファレンスマニュアル)

    extend(*modules) -> self[permalink][rdoc][edit] 引数で指定したモジュールのインスタンスメソッドを self の特異メソッドとして追加します。 Module#include は、クラス(のインスタンス)に機能を追加しますが、extend は、ある特定のオブジェクトだけにモジュールの機能を追加したいときに使用します。 引数に複数のモジュールを指定した場合、最後の引数から逆順に extend を行います。 [PARAM] modules: モジュールを任意個指定します(クラスは不可)。 [RETURN] self を返します。 module Foo def a 'ok Foo' end end module Bar def b 'ok Bar' end end obj = Object.new obj.extend Foo, Bar p obj.a

  • 1