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   
Text File  |  2001-06-18  |  2KB  |  80 lines

  1.   -- forwatable.rb
  2.                                                 $Release Version: 1.1 $
  3.                                                 $Revision: 1.1 $
  4.                                                 $Date: 2001/04/03 13:41:44 $
  5.  
  6. = Forwardable
  7.  
  8. Ñ»ÑΘÑ╣ñ╦┬╨ñ╖ÑßÑ╜Ñ├Ñ╔ñ╬░╤╛∙╡í╟╜ñ≥─Ω╡┴ñ╖ñ▐ñ╣.
  9.  
  10. == ╗╚ññ╩²
  11.  
  12. Ñ»ÑΘÑ╣ñ╦┬╨ñ╖ñ╞extendñ╖ñ╞╗╚ñññ▐ñ╣. 
  13.   
  14.   class Foo
  15.     extend Forwardable
  16.  
  17.     def_delegators("@out", "printf", "print")
  18.     def_delegators(:@in, :gets)
  19.     def_delegator(:@contents, :[], "content_at")
  20.   end
  21.   f = Foo.new
  22.   f.printf ...
  23.   f.gets
  24.   f.content_at(1)
  25.  
  26. == ÑßÑ╜Ñ├Ñ╔
  27.  
  28. --- Forwardable#def_instance_delegators(accessor, *methods)
  29.  
  30.       ((|methods|))ñ╟┼╧ñ╡ñ∞ñ┐ÑßÑ╜Ñ├Ñ╔ñ╬ÑΩÑ╣Ñ╚ñ≥((|accessorñ╦|))░╤╛∙ñ╣ñδ
  31.       ñΦñªñ╦ñ╖ñ▐ñ╣.
  32.  
  33. --- Forwardable#def_instance_delegator(accessor, method, ali = method)
  34.  
  35.       ((||method|))ñ╟┼╧ñ╡ñ∞ñ┐ÑßÑ╜Ñ├Ñ╔ñ≥((|accessor|))ñ╦░╤╛∙ñ╣ñδñΦñªñ╦ñ╖
  36.       ñ▐ñ╣. ((|ali|))ñ¼░·┐⌠ñ╚ñ╖ñ╞┼╧ñ╡ñ∞ñ┐ñ╚ñ¡ñ╧, ÑßÑ╜Ñ├Ñ╔((|ali|))ñ¼╕╞ñ╨
  37.       ñ∞ñ┐ñ╚ñ¡ñ╦ñ╧, ((|accessor|))ñ╦┬╨ñ╖((|method|))ñ≥╕╞ñ╙╜╨ñ╖ñ▐ñ╣.
  38.  
  39. --- Forwardable#def_delegators(accessor, *methods)
  40.  
  41.       ((|Forwardable#def_instance_delegators|))ñ╬╩╠╠╛ñ╟ñ╣.
  42.  
  43. --- Forwardable#def_delegator(accessor, method, ali = method)
  44.  
  45.       ((|Forwardable#def_instance_delegator|))ñ╬╩╠╠╛ñ╟ñ╣.
  46.  
  47. = SingleForwardable
  48.  
  49. ѬÑ╓Ñ╕ѺѻÑ╚ñ╦┬╨ñ╖, ÑßÑ╜Ñ├Ñ╔ñ╬░╤╛∙╡í╟╜ñ≥─Ω╡┴ñ╖ñ▐ñ╣.
  50.  
  51. == ╗╚ññ╩²
  52.  
  53. ѬÑ╓Ñ╕ѺѻÑ╚ñ╦┬╨ñ╖ñ╞((|extend|))ñ╖ñ╞╗╚ñññ▐ñ╣. 
  54.  
  55.   g = Goo.new
  56.   g.extend SingleForwardable
  57.   g.def_delegator("@out", :puts)
  58.   g.puts ...
  59.  
  60. == ÑßÑ╜Ñ├Ñ╔
  61.  
  62. --- SingleForwardable#def_singleton_delegators(accessor, *methods)
  63.  
  64.       ((|methods|))ñ╟┼╧ñ╡ñ∞ñ┐ÑßÑ╜Ñ├Ñ╔ñ╬ÑΩÑ╣Ñ╚ñ≥((|accessor|))ñ╦░╤╛∙ñ╣ñδ
  65.       ñΦñªñ╦ñ╖ñ▐ñ╣.
  66.  
  67. --- SingleForwardable#def_singleton_delegator(accessor, method, ali = method)
  68.  
  69.       ((|method|))ñ╟┼╧ñ╡ñ∞ñ┐ÑßÑ╜Ñ├Ñ╔ñ≥((|accessor|))ñ╦░╤╛∙ñ╣ñδñΦñªñ╦ñ╖ñ▐
  70.       ñ╣. ((|ali|))ñ¼░·┐⌠ñ╚ñ╖ñ╞┼╧ñ╡ñ∞ñ┐ñ╚ñ¡ñ╧, ÑßÑ╜Ñ├Ñ╔((|ali|))ñ¼╕╞ñ╨ñ∞
  71.       ñ┐ñ╚ñ¡ñ╦ñ╧, ((|accessor|))ñ╦┬╨ñ╖((|method|))ñ≥╕╞ñ╙╜╨ñ╖ñ▐ñ╣.
  72.  
  73. --- SingleForwardable#def_delegators(accessor, *methods)
  74.  
  75.       ((|SingleForwardable#def_singleton_delegators|))ñ╬╩╠╠╛ñ╟ñ╣.
  76.  
  77. --- SingleForwardable#def_delegator(accessor, method, ali = method)
  78.  
  79.       ((|SingleForwardable#def_singleton_delegator|))ñ╬╩╠╠╛ñ╟ñ╣.
  80.