Current Path : /usr/local/share/doc/ruby18/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/local/share/doc/ruby18/forwardable.rd.ja |
-- forwatable.rb $Release Version: 1.1 $ $Revision: 11708 $ $Date: 2007-02-13 08:01:19 +0900 (Tue, 13 Feb 2007) $ =begin = Forwardable クラスに対しメソッドの委譲機能を定義します. == 使い方 クラスに対してextendして使います. class Foo extend Forwardable def_delegators("@out", "printf", "print") def_delegators(:@in, :gets) def_delegator(:@contents, :[], "content_at") end f = Foo.new f.printf ... f.gets f.content_at(1) == メソッド --- Forwardable#def_instance_delegators(accessor, *methods) ((|methods|))で渡されたメソッドのリストを((|accessorに|))委譲する ようにします. --- Forwardable#def_instance_delegator(accessor, method, ali = method) ((||method|))で渡されたメソッドを((|accessor|))に委譲するようにし ます. ((|ali|))が引数として渡されたときは, メソッド((|ali|))が呼ば れたときには, ((|accessor|))に対し((|method|))を呼び出します. --- Forwardable#def_delegators(accessor, *methods) ((|Forwardable#def_instance_delegators|))の別名です. --- Forwardable#def_delegator(accessor, method, ali = method) ((|Forwardable#def_instance_delegator|))の別名です. = SingleForwardable オブジェクトに対し, メソッドの委譲機能を定義します. == 使い方 オブジェクトに対して((|extend|))して使います. g = Goo.new g.extend SingleForwardable g.def_delegator("@out", :puts) g.puts ... == メソッド --- SingleForwardable#def_singleton_delegators(accessor, *methods) ((|methods|))で渡されたメソッドのリストを((|accessor|))に委譲する ようにします. --- SingleForwardable#def_singleton_delegator(accessor, method, ali = method) ((|method|))で渡されたメソッドを((|accessor|))に委譲するようにしま す. ((|ali|))が引数として渡されたときは, メソッド((|ali|))が呼ばれ たときには, ((|accessor|))に対し((|method|))を呼び出します. --- SingleForwardable#def_delegators(accessor, *methods) ((|SingleForwardable#def_singleton_delegators|))の別名です. --- SingleForwardable#def_delegator(accessor, method, ali = method) ((|SingleForwardable#def_singleton_delegator|))の別名です. =end