[前][次][番号順一覧][スレッド一覧]

ruby-changes:28806

From: zzak <ko1@a...>
Date: Mon, 20 May 2013 22:33:16 +0900 (JST)
Subject: [ruby-changes:28806] zzak:r40858 (trunk): Revert r40839 for demo

zzak	2013-05-20 22:33:08 +0900 (Mon, 20 May 2013)

  New Revision: 40858

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=40858

  Log:
    Revert r40839 for demo

  Modified files:
    trunk/lib/forwardable.rb

Index: lib/forwardable.rb
===================================================================
--- lib/forwardable.rb	(revision 40857)
+++ lib/forwardable.rb	(revision 40858)
@@ -19,40 +19,30 @@ https://github.com/ruby/ruby/blob/trunk/lib/forwardable.rb#L19
 # #record_number(), which simply calls #[] on the <tt>@records</tt>
 # array, like this:
 #
-#   require 'forwardable'
-#
 #   class RecordCollection
-#     attr_accessor :records
 #     extend Forwardable
 #     def_delegator :@records, :[], :record_number
 #   end
 #
-# We can use the lookup method like so:
-#
-#   r = RecordCollection.new
-#   r.records = [4,5,6]
-#   r.record_number(0)  # => 4
-#
 # Further, if you wish to provide the methods #size, #<<, and #map,
 # all of which delegate to @records, this is how you can do it:
 #
-#   class RecordCollection # re-open RecordCollection class
+#   class RecordCollection
+#     # extend Forwardable, but we did that above
 #     def_delegators :@records, :size, :<<, :map
 #   end
-#
-#   r = RecordCollection.new
-#   r.records = [1,2,3]
-#   r.record_number(0)   # => 1
-#   r.size               # => 3
-#   r << 4               # => [1, 2, 3, 4]
-#   r.map { |x| x * 2 }  # => [2, 4, 6, 8]
-#
-# You can even extend regular objects with Forwardable.
-#
-#   my_hash = Hash.new
-#   my_hash.extend Forwardable              # prepare object for delegation
-#   my_hash.def_delegator "STDOUT", "puts"  # add delegation for STDOUT.puts()
-#   my_hash.puts "Howdy!"
+#   f = Foo.new
+#   f.printf ...
+#   f.gets
+#   f.content_at(1)
+#
+# If the object isn't a Module and Class, You can too extend Forwardable
+# module.
+#
+#   printer = String.new
+#   printer.extend Forwardable              # prepare object for delegation
+#   printer.def_delegator "STDOUT", "puts"  # add delegation for STDOUT.puts()
+#   printer.puts "Howdy!"
 #
 # == Another example
 #

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]