種類
- インスタンスメソッド (24)
- クラス (2)
- 特異メソッド (1)
- ライブラリ (1)
- モジュール (1)
ライブラリ
- delegate (19)
- forwardable (9)
クラス
- Delegator (14)
- SimpleDelegator (3)
モジュール
- Forwardable (4)
- SingleForwardable (4)
キーワード
- ! (1)
- != (1)
- == (1)
- Forwardable (1)
- SimpleDelegator (1)
-
_ _ getobj _ _ (2) -
_ _ setobj _ _ (2) -
def
_ delegator (2) -
def
_ delegators (2) -
def
_ instance _ delegator (1) -
def
_ instance _ delegators (1) -
def
_ single _ delegator (1) -
def
_ single _ delegators (1) - delegate (1)
- freeze (1)
-
marshal
_ dump (1) -
marshal
_ load (1) -
method
_ missing (1) - methods (1)
- new (1)
-
protected
_ methods (1) -
public
_ methods (1) -
respond
_ to? (1) -
respond
_ to _ missing? (1)
検索結果
先頭5件
-
Delegator (186019.0)
-
サブクラスにメソッド委譲の仕組みを提供する抽象クラス。
サブクラスにメソッド委譲の仕組みを提供する抽象クラス。
メソッド委譲を行う場合は、本クラスを継承しDelegator#__getobj__を再定義する必要があります。
具体的な使用例については、SimpleDelegatorを参照してください。 -
SingleForwardable
# def _ single _ delegators(accessor , *methods) -> () (127873.0) -
メソッドの委譲先をまとめて設定します。
メソッドの委譲先をまとめて設定します。
@param accessor 委譲先のオブジェクト
@param methods 委譲するメソッドのリスト
委譲元のオブジェクトで methods のそれぞれのメソッドが呼び出された場合に、
委譲先のオブジェクトの同名のメソッドへ処理が委譲されるようになります。
def_delegators は def_singleton_delegators の別名になります。
また、以下の 2 つの例は同じ意味です。
def_delegators :@records, :size, :<<, :map
def_delegator :@rec... -
SingleForwardable
# def _ single _ delegator(accessor , method , ali = method) -> () (127843.0) -
メソッドの委譲先を設定します。
メソッドの委譲先を設定します。
@param accessor 委譲先のオブジェクト
@param method 委譲先のメソッド
@param ali 委譲元のメソッド
委譲元のオブジェクトで ali が呼び出された場合に、
委譲先のオブジェクトの method へ処理が委譲されるようになります。
委譲元と委譲先のメソッド名が同じ場合は, ali を省略することが可能です。
def_delegator は def_singleton_delegator の別名になります。
@see SingleForwardable#def_delegators -
SingleForwardable
# def _ delegators(accessor , *methods) -> () (118573.0) -
メソッドの委譲先をまとめて設定します。
メソッドの委譲先をまとめて設定します。
@param accessor 委譲先のオブジェクト
@param methods 委譲するメソッドのリスト
委譲元のオブジェクトで methods のそれぞれのメソッドが呼び出された場合に、
委譲先のオブジェクトの同名のメソッドへ処理が委譲されるようになります。
def_delegators は def_singleton_delegators の別名になります。
また、以下の 2 つの例は同じ意味です。
def_delegators :@records, :size, :<<, :map
def_delegator :@rec... -
SingleForwardable
# def _ delegator(accessor , method , ali = method) -> () (118543.0) -
メソッドの委譲先を設定します。
メソッドの委譲先を設定します。
@param accessor 委譲先のオブジェクト
@param method 委譲先のメソッド
@param ali 委譲元のメソッド
委譲元のオブジェクトで ali が呼び出された場合に、
委譲先のオブジェクトの method へ処理が委譲されるようになります。
委譲元と委譲先のメソッド名が同じ場合は, ali を省略することが可能です。
def_delegator は def_singleton_delegator の別名になります。
@see SingleForwardable#def_delegators -
Delegator
# marshal _ load(obj) -> object (117967.0) -
シリアライズされたオブジェクトから、Delegator#__getobj__ が返すオブジェクトを再現します。
シリアライズされたオブジェクトから、Delegator#__getobj__ が返すオブジェクトを再現します。
@param obj Delegator#marshal_dumpの戻り値のコピー -
Delegator
# marshal _ dump -> object (117949.0) -
シリアライゼーションをサポートするためにDelegator#__getobj__ が返すオブジェクトを返します。
シリアライゼーションをサポートするためにDelegator#__getobj__ が返すオブジェクトを返します。 -
Delegator
# public _ methods(all = true) -> [Symbol] (117901.0) -
そのオブジェクトが理解できる public メソッド名の一覧を返します。
そのオブジェクトが理解できる public メソッド名の一覧を返します。
@param all 偽を指定すると __getobj__ のスーパークラスで定義されたメソッドを除きます。
@see Object#public_methods -
Delegator
# respond _ to _ missing?(m , include _ private) -> bool (109201.0) -
@param m メソッド名を指定します。
@param m メソッド名を指定します。
@param include_private 真を指定すると private メソッドも調べます。 -
Delegator
# protected _ methods(all = true) -> [Symbol] (108901.0) -
そのオブジェクトが理解できる protected メソッド名の一覧を返します。
そのオブジェクトが理解できる protected メソッド名の一覧を返します。
@param all 偽を指定すると __getobj__ のスーパークラスで定義されたメソッドを除きます。
@see Object#protected_methods -
Delegator
# method _ missing(m , *args) -> object (108649.0) -
渡されたメソッド名と引数を使って、Delegator#__getobj__ が返すオブジェクトへメソッド委譲を行います。
渡されたメソッド名と引数を使って、Delegator#__getobj__ が返すオブジェクトへメソッド委譲を行います。
@param m メソッドの名前(シンボル)
@param args メソッドに渡された引数
@return 委譲先のメソッドからの返り値
@see BasicObject#method_missing -
Delegator
# respond _ to?(m) -> bool (108649.0) -
Delegator#__getobj__ が返すオブジェクトが メソッド m を持つとき真を返します。
Delegator#__getobj__ が返すオブジェクトが メソッド m を持つとき真を返します。
@param m メソッド名
@see Object#respond_to? -
Delegator
# freeze -> self (108601.0) -
自身を凍結します。
自身を凍結します。
@see Object#freeze -
Delegator
# methods -> [Symbol] (108601.0) -
そのオブジェクトに対して呼び出せるメソッド名の一覧を返します。 このメソッドは public メソッドおよび protected メソッドの名前を返します。
そのオブジェクトに対して呼び出せるメソッド名の一覧を返します。
このメソッドは public メソッドおよび protected メソッドの名前を返します。
@see Object#methods -
Delegator
# _ _ getobj _ _ -> object (108301.0) -
委譲先のオブジェクトを返します。
委譲先のオブジェクトを返します。
本メソッドは、サブクラスで再定義する必要があり、
デフォルトでは NotImplementedError が発生します。
@raise NotImplementedError サブクラスにて本メソッドが再定義されていない場合に発生します。 -
Delegator
# _ _ setobj _ _ (obj) -> object (108301.0) -
委譲先のオブジェクトをセットします。
委譲先のオブジェクトをセットします。
@param obj 委譲先のオブジェクトを指定します。
@raise NotImplementedError サブクラスにて本メソッドが再定義されていない場合に発生します。 -
SimpleDelegator (108049.0)
-
Delegator クラスを継承し、シンプルなメソッド委譲を実現した具象クラス。
Delegator クラスを継承し、シンプルなメソッド委譲を実現した具象クラス。
委譲先に指定されたオブジェクトへメソッドの実行を委譲します。
例:
//emlist{
require 'delegate'
foo = Object.new
def foo.test
p 25
end
foo2 = SimpleDelegator.new(foo)
foo2.test # => 25
//} -
Forwardable
# def _ delegators(accessor , *methods) -> () (100573.0) -
メソッドの委譲先をまとめて設定します。
メソッドの委譲先をまとめて設定します。
@param accessor 委譲先のオブジェクト
@param methods 委譲するメソッドのリスト
委譲元のオブジェクトで methods のそれぞれのメソッドが呼び出された場合に、
委譲先のオブジェクトの同名のメソッドへ処理が委譲されるようになります。
def_delegators は def_instance_delegators の別名になります。
また、以下の 2 つの例は同じ意味です。
def_delegators :@records, :size, :<<, :map
def_delegator :@reco... -
Forwardable
# def _ instance _ delegators(accessor , *methods) -> () (100573.0) -
メソッドの委譲先をまとめて設定します。
メソッドの委譲先をまとめて設定します。
@param accessor 委譲先のオブジェクト
@param methods 委譲するメソッドのリスト
委譲元のオブジェクトで methods のそれぞれのメソッドが呼び出された場合に、
委譲先のオブジェクトの同名のメソッドへ処理が委譲されるようになります。
def_delegators は def_instance_delegators の別名になります。
また、以下の 2 つの例は同じ意味です。
def_delegators :@records, :size, :<<, :map
def_delegator :@reco... -
Forwardable
# def _ delegator(accessor , method , ali = method) -> () (100561.0) -
メソッドの委譲先を設定します。
メソッドの委譲先を設定します。
@param accessor 委譲先のオブジェクト
@param method 委譲先のメソッド
@param ali 委譲元のメソッド
委譲元のオブジェクトで ali が呼び出された場合に、
委譲先のオブジェクトの method へ処理が委譲されるようになります。
委譲元と委譲先のメソッド名が同じ場合は, ali を省略することが可能です。
def_delegator は def_instance_delegator の別名になります。
例:
require 'forwardable'
class MyQueue
exten... -
Forwardable
# def _ instance _ delegator(accessor , method , ali = method) -> () (100561.0) -
メソッドの委譲先を設定します。
メソッドの委譲先を設定します。
@param accessor 委譲先のオブジェクト
@param method 委譲先のメソッド
@param ali 委譲元のメソッド
委譲元のオブジェクトで ali が呼び出された場合に、
委譲先のオブジェクトの method へ処理が委譲されるようになります。
委譲元と委譲先のメソッド名が同じ場合は, ali を省略することが可能です。
def_delegator は def_instance_delegator の別名になります。
例:
require 'forwardable'
class MyQueue
exten... -
Delegator
# ! -> bool (99301.0) -
自身を否定します。
自身を否定します。 -
Delegator
# !=(obj) -> bool (99301.0) -
自身が与えられたオブジェクトと等しくない場合は、真を返します。 そうでない場合は、偽を返します。
自身が与えられたオブジェクトと等しくない場合は、真を返します。
そうでない場合は、偽を返します。
@param obj 比較対象のオブジェクトを指定します。 -
Delegator
# ==(obj) -> bool (99301.0) -
自身が与えられたオブジェクトと等しい場合は、真を返します。 そうでない場合は、偽を返します。
自身が与えられたオブジェクトと等しい場合は、真を返します。
そうでない場合は、偽を返します。
@param obj 比較対象のオブジェクトを指定します。 -
delegate (72073.0)
-
メソッドの委譲 (delegation) を行うためのライブラリです。
メソッドの委譲 (delegation) を行うためのライブラリです。
Delegator クラスは指定したオブジェクトにメソッドの実行を委譲します。
Delegator クラスを利用する場合はこれを継承して
Delegator#__getobj__ メソッドを再定義して委譲先のオブジェクトを指定します。
SimpleDelegator は Delegator の利用例の一つであり、
コンストラクタに渡されたオブジェクトにメソッドの実行を委譲します。
Kernel#DelegateClass は 引数で渡されたクラスのインスタンスをひとつとり、
そのオブジェクトにインスタンスメソッド... -
SimpleDelegator
# _ _ getobj _ _ -> object (63319.0) -
委譲先のオブジェクトを返します。
委譲先のオブジェクトを返します。
@see Delegator#__getobj__ -
SimpleDelegator
. new(obj) -> object (63319.0) -
メソッドを委譲するオブジェクトの設定と、 メソッド委譲を行うためのクラスメソッドの定義を行います。
メソッドを委譲するオブジェクトの設定と、
メソッド委譲を行うためのクラスメソッドの定義を行います。
@param obj 委譲先のオブジェクト
@see Delegator.new -
SimpleDelegator
# _ _ setobj _ _ (obj) -> object (63301.0) -
委譲先のオブジェクトを obj に変更します。
委譲先のオブジェクトを obj に変更します。
メソッド委譲を行うためのクラスメソッドの再定義は行われないことに注意してください。
メソッド委譲を行うためのクラスメソッドの定義は生成時にのみ行われます。
そのため、以前の委譲先オブジェクトと
obj の間で呼び出せるメソッドに違いがあった場合は、
何かしらの例外が発生する可能性があります。
@param obj 委譲先のオブジェクト
@return 変更後の委譲先オブジェクト -
Forwardable (54055.0)
-
クラスに対し、メソッドの委譲機能を定義するモジュールです。
クラスに対し、メソッドの委譲機能を定義するモジュールです。
=== 使い方
クラスに対して Object#extend して使います。Module#include でないところに注意して下さい。
例:
require 'forwardable'
class Foo
extend Forwardable
def_delegators("@out", "printf", "print")
def_delegators(:@in, :gets)
def_delegator(:@contents, :[], "content_at")
en...