るりまサーチ

最速Rubyリファレンスマニュアル検索!
24件ヒット [1-24件を表示] (0.087秒)

別のキーワード

  1. _builtin -
  2. open-uri open
  3. irb/input-method gets
  4. irb/input-method new
  5. irb/input-method encoding

ライブラリ

クラス

検索結果

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

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

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

Module#include は、クラス(のインスタンス)に機能を追加します
が、extend は、ある特定のオブジェクトだけにモジュールの機能を...
...ら逆順に extend を行います。

@
param modules モジュールを任意個指定します(クラスは不可)。
@
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...
...class Klass
include
Foo
extend
Bar
end

p Klass.new.a #=> "ok Foo"
p Klass.b #=> "ok Bar"
//}

extend
の機能は、「特異クラスに対する Module#include
と言い替えることもできます。
ただしその場合、フック用のメソッド
が Module#extended ではな...

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

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

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

singleton_methods(false) は、Object#methods(false) と同じです。

@
param inherit...
...継承した特異メソッドを含める場合は真を、
そうでない場合は偽を指定します。

//emlist[例1][ruby]{
Parent = Class.new

class <<Parent
private; def private_class_parent() end
protected; def protected_class_parent() end
public; def pub...
...def protected_bar() end
public; def public_bar() end
end

obj = Foo.new
class <<obj
include
Bar
private; def private_self() end
protected; def protected_self() end
public; def public_self() end
end

# あるオブジェクトの特異メソッドの一覧を得る。
p obj....