Unverified Commit 2f9b1fdb authored by Yukihiro "Matz" Matsumoto's avatar Yukihiro "Matz" Matsumoto Committed by GitHub

Merge pull request #4255 from shuujii/enumerator-size-is-not-supported

`Enumerator#size` is not supported [ci skip]
parents 2256bb07 465fdde5
...@@ -89,7 +89,6 @@ class Enumerator ...@@ -89,7 +89,6 @@ class Enumerator
include Enumerable include Enumerable
## ##
# @overload initialize(size = nil, &block)
# @overload initialize(obj, method = :each, *args) # @overload initialize(obj, method = :each, *args)
# #
# Creates a new Enumerator object, which can be used as an # Creates a new Enumerator object, which can be used as an
...@@ -603,15 +602,10 @@ module Kernel ...@@ -603,15 +602,10 @@ module Kernel
# call-seq: # call-seq:
# obj.to_enum(method = :each, *args) -> enum # obj.to_enum(method = :each, *args) -> enum
# obj.enum_for(method = :each, *args) -> enum # obj.enum_for(method = :each, *args) -> enum
# obj.to_enum(method = :each, *args) {|*args| block} -> enum
# obj.enum_for(method = :each, *args){|*args| block} -> enum
# #
# Creates a new Enumerator which will enumerate by calling +method+ on # Creates a new Enumerator which will enumerate by calling +method+ on
# +obj+, passing +args+ if any. # +obj+, passing +args+ if any.
# #
# If a block is given, it will be used to calculate the size of
# the enumerator without the need to iterate it (see Enumerator#size).
#
# === Examples # === Examples
# #
# str = "xyz" # str = "xyz"
...@@ -629,17 +623,14 @@ module Kernel ...@@ -629,17 +623,14 @@ module Kernel
# It is typical to call to_enum when defining methods for # It is typical to call to_enum when defining methods for
# a generic Enumerable, in case no block is passed. # a generic Enumerable, in case no block is passed.
# #
# Here is such an example, with parameter passing and a sizing block: # Here is such an example with parameter passing:
# #
# module Enumerable # module Enumerable
# # a generic method to repeat the values of any enumerable # # a generic method to repeat the values of any enumerable
# def repeat(n) # def repeat(n)
# raise ArgumentError, "#{n} is negative!" if n < 0 # raise ArgumentError, "#{n} is negative!" if n < 0
# unless block_given? # unless block_given?
# return to_enum(__method__, n) do # __method__ is :repeat here # return to_enum(__method__, n) # __method__ is :repeat here
# sz = size # Call size and multiply by n...
# sz * n if sz # but return nil if size itself is nil
# end
# end # end
# each do |*val| # each do |*val|
# n.times { yield *val } # n.times { yield *val }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment