るりまサーチ

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

別のキーワード

  1. json extend
  2. mutex_m extend_object
  3. irb/extend-command def_extend_command
  4. irb/extend-command install_extend_commands
  5. object extend

ライブラリ

検索結果

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

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

...ス)に機能を追加します
が、extend は、ある特定のオブジェクトだけにモジュールの機能を追加
したいときに使用します。

引数に複数のモジュールを指定した場合、最後
の引数から逆順に extend を行います。

@param modules モ...
...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.b #=> "ok Bar"

extend
の機能は、「特異クラスに対する M...
...きます。
ただしその場合、フック用のメソッド
が Module#extended ではなく Module#included になるという違いがあります。

# obj.extend Foo, Bar とほぼ同じ
class << obj
include Foo, Bar
end

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

Object#singleton_methods(inherited_too = true) -> [Symbol] (13.0)

そのオブジェクトに対して定義されている特異メソッド名 (public あるいは protected メソッド) の一覧を返します。

...た特異メソッドとは Object#extend によって追加された特異メソッドや、
self がクラスの場合はスーパークラスのクラスメソッド(Classのインスタンスの特異メソッド)などです。

singleton_methods(false) は、Object#methods(false) と同じで...
...のクラスメソッドも含まれるよう true を指定したが、
# Object のクラスメソッドは一覧から排除している。

p obj.singleton_methods(true)
p Foo.singleton_methods(true) - Object.singleton_methods(true)

#実行結果

[:protected_self, :public_self,...
...:protected_bar, :public_bar]
[:protected_class_foo, :public_class_foo, :protected_class_parent, :public_class_parent]

@see Object#methods,Object#extend...