module Enumerable(T)
Overview
The Enumerable
mixin provides collection classes with several traversal, searching,
filtering and querying methods.
Including types must provide an each
method, which yields successive members
of the collection.
For example:
class Three
include Enumerable(Int32)
def each(&)
yield 1
yield 2
yield 3
end
end
three = Three.new
three.to_a # => [1, 2, 3]
three.select &.odd? # => [1, 3]
three.all? { |x| x < 10 } # => true
Note that most search and filter methods traverse an Enumerable eagerly,
producing an Array
as the result. For a lazy alternative refer to
the Iterator
and Iterable
modules.
Defined in:
enumerable.crInstance Method Summary
-
#reduce?(memo, &)
Similar to
#reduce?
, however instead of returningnil
when the input is empty, return the initial value of the accumulator. -
#reduce?(&)
Similar to
reduce
, but instead of raising when the input is empty, returnnil
Instance Method Detail
Similar to #reduce?
, however instead of returning nil
when the input is empty,
return the initial value of the accumulator.
([] of Int32).reduce?(10) { |acc, i| acc + i } # => 10
Similar to reduce
, but instead of raising when the input is empty,
return nil
([] of Int32).reduce? { |acc, i| acc + i } # => nil