るりまサーチ (Ruby 2.5.0)

最速Rubyリファレンスマニュアル検索!
1件ヒット [1-1件を表示] (0.016秒)
トップページ > バージョン:2.5.0[x] > クラス:Object[x] > クエリ:Module#extend_object[x]

別のキーワード

  1. add rexml::attribute#name
  2. << rexml::attribute#name
  3. handle_interrupt thread#raise
  4. oid openssl::x509::extension#oid=
  5. service drb::extserv#stop_service

ライブラリ

検索結果

Object#extend(*modules) -> self (22.0)

引数で指定したモジュールのインスタンスメソッドを self の特異 メソッドとして追加します。

...
@return self を返します。

//emlist[][ruby]{
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 #=> "ok Foo"
p obj.b #=> "ok Bar"

class Klass
include Foo
extend Bar
end

p Klass.new.a #=> "ok Foo"
p Klass....
...ただしその場合、フック用のメソッド
が Module#extended ではなく Module#included になるという違いがあります。

//emlist[][ruby]{
# obj.extend Foo, Bar とほぼ同じ
class << obj
include Foo, Bar
end
//}

@see Module#extend_object,Module#include,Module#extended...