diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-14 15:09:35 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-14 15:09:35 +0000 |
commit | 1a74fa4b04da04bd2bb33103dd3cf431438df38e (patch) | |
tree | f4a1d6c2961339e0c1d653c0f8427a53315080f0 /ruby_2_2/doc/forwardable.rd.ja | |
parent | a5b755e50e2d9aabf28ba24bf58644ca22b01a4f (diff) |
add tag v2_2_9
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v2_2_9@61257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby_2_2/doc/forwardable.rd.ja')
-rw-r--r-- | ruby_2_2/doc/forwardable.rd.ja | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/ruby_2_2/doc/forwardable.rd.ja b/ruby_2_2/doc/forwardable.rd.ja new file mode 100644 index 0000000000..171724b2e5 --- /dev/null +++ b/ruby_2_2/doc/forwardable.rd.ja @@ -0,0 +1,80 @@ + -- forwatable.rb + $Release Version: 1.1 $ + $Revision$ + +=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 |