Sophie

Sophie

distrib > CentOS > 5 > x86_64 > by-pkgid > 6d36cb72372cfb7c8fee63f4d6dc0530 > files > 168

ruby-docs-1.8.5-31.el5_9.x86_64.rpm

  -- forwatable.rb
                                                $Release Version: 1.1 $
                                                $Revision: 1.1 $
                                                $Date: 2001/07/19 05:42:06 $

=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