summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
author(no author) <(no author)@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-05-07 23:56:05 +0000
committer(no author) <(no author)@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-05-07 23:56:05 +0000
commitbc6a4d52f553c35945c188598078c242fca16d77 (patch)
treecfdd4c4592ea6da53238583c88a7a8ff4fc9a51c /doc
parent80538b4463bea8c191031d5577859a5e0578beb1 (diff)
This commit was manufactured by cvs2svn to create branch 'ruby_1_6'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'doc')
-rw-r--r--doc/forwardable.rd84
-rw-r--r--doc/forwardable.rd.jp81
2 files changed, 165 insertions, 0 deletions
diff --git a/doc/forwardable.rd b/doc/forwardable.rd
new file mode 100644
index 0000000000..7272c374b6
--- /dev/null
+++ b/doc/forwardable.rd
@@ -0,0 +1,84 @@
+ -- forwardable.rb
+
+ $Release Version: 1.1 $
+ $Revision$
+ $Date$
+ Original version by Tosh
+
+=begin
+
+= Forwardable
+
+A Module to define delegations for selected methods to a class.
+
+== Usage
+
+Using through extending the class.
+
+ 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)
+
+== Methods
+
+--- Forwardable#def_instance_delegators(accessor, *methods)
+
+ adding the delegations for each method of ((|methods|)) to
+ ((|accessor|)).
+
+--- Forwardable#def_instance_delegator(accessor, method, ali = method)
+
+ adding the delegation for ((|method|)) to ((|accessor|)). When
+ you give optional argument ((|ali|)), ((|ali|)) is used as the
+ name of the delegation method, instead of ((|method|)).
+
+--- Forwardable#def_delegators(accessor, *methods)
+
+ the alias of ((|Forwardable#def_instance_delegators|)).
+
+--- Forwardable#def_delegator(accessor, method, ali = method)
+
+ the alias of ((|Forwardable#def_instance_delegator|)).
+
+= SingleForwardable
+
+a Module to define delegations for selected methods to an object.
+
+== Usage
+
+Using through extending the object.
+
+ g = Goo.new
+ g.extend SingleForwardable
+ g.def_delegator("@out", :puts)
+ g.puts ...
+
+== Methods
+
+--- SingleForwardable#def_singleton_delegators(accessor, *methods)
+
+ adding the delegations for each method of ((|methods|)) to
+ ((|accessor|)).
+
+--- SingleForwardable#def_singleton_delegator(accessor, method, ali = method)
+
+ adding the delegation for ((|method|)) to ((|accessor|)). When
+ you give optional argument ((|ali|)), ((|ali|)) is used as the
+ name of the delegation method, instead of ((|method|)).
+
+--- SingleForwardable#def_delegators(accessor, *methods)
+
+ the alias of ((|SingleForwardable#def_instance_delegators|)).
+
+--- SingleForwardable#def_delegator(accessor, method, ali = method)
+
+ the alias of ((|SingleForwardable#def_instance_delegator|)).
+=end
diff --git a/doc/forwardable.rd.jp b/doc/forwardable.rd.jp
new file mode 100644
index 0000000000..d928fddc5e
--- /dev/null
+++ b/doc/forwardable.rd.jp
@@ -0,0 +1,81 @@
+ -- forwatable.rb
+ $Release Version: 1.1 $
+ $Revision$
+ $Date$
+
+=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