home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
ruby164.zip
/
rbemx164.zip
/
ruby
/
share
/
doc
/
forwardable-1.1
/
forwardable.rd.jp
< prev
Wrap
Text File
|
2001-06-18
|
2KB
|
80 lines
-- forwatable.rb
$Release Version: 1.1 $
$Revision: 1.1 $
$Date: 2001/04/03 13:41:44 $
= 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|))ñ╬╩╠╠╛ñ╟ñ╣.