るりまサーチ

最速Rubyリファレンスマニュアル検索!
44件ヒット [1-44件を表示] (0.037秒)
トップページ > ライブラリ:ビルトイン[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

クラス

キーワード

検索結果

Module#extend_object(obj) -> object (23002.0)

Object#extend の実体です。オブジェクトにモジュールの機能を追加します。

Object#extend の実体です。オブジェクトにモジュールの機能を追加します。

Object#extend は、Ruby で書くと以下のように定義できます。

//emlist[例][ruby]{
def extend(*modules)
modules.reverse_each do |mod|
# extend_object や extended はプライベートメソッドなので
# 直接 mod.extend_object(self) などとは書けない
mod.__send__(:extend_object, self)
mod.__send__...

Class (8.0)

クラスのクラスです。

...すが、それ以外のほとんどの機能は Module から継
承されています。Module のメソッドのうち

* Module#module_function
* Module#extend_object
* Module#append_features
* Module#prepend_features
* Module#refine

は Class では未定義にされています。...

Module#extended(obj) -> () (8.0)

self が他のオブジェクト に Object#extend されたときに 呼ばれます。引数には extend を行ったオブジェクトが渡されます。

...ったオブジェクトが渡されます。

@param obj Object#extend を行ったオブジェクト

//emlist[例][ruby]{
module Foo
def self.extended(obj)
p "#{obj} extend #{self}"
end
end

Object.new.extend Foo

# => "#<Object:0x401cbc3c> extend Foo"
//}

@see Module#extend_object...

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

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

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

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

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