# module Denumerable

Classes which include Denumerable will get versions of map, select, and so on, which return a Denumerator, so that they work horizontally without creating intermediate arrays.

@author Brian Candler @author Trans

### Public Instance Methods

collect()
Alias for: map
find_all()
Alias for: select
map() { |*input| ... } click to toggle source

    # File lib/facets/denumerable.rb, line 14
    def map
      Denumerator.new do |output|
        each do |*input|
          output.yield yield(*input)
        end
      end
    end

Also aliased as: collect
reject() { |*input| ... } click to toggle source

    # File lib/facets/denumerable.rb, line 34
    def reject
      Denumerator.new do |output|
        each do |*input|
          output.yield(*input) unless yield(*input)
        end
      end
    end

select() { |*input| ... } click to toggle source

    # File lib/facets/denumerable.rb, line 24
    def select
      Denumerator.new do |output|
        each do |*input|
          output.yield(*input) if yield(*input)
        end
      end
    end

Also aliased as: find_all
skip(n) click to toggle source

Skip the first n items in the list

    # File lib/facets/denumerable.rb, line 55
    def skip(n)
      Denumerator.new do |output|
        count = 0
        each do |*input|
          output.yield(*input) if count >= n
          count += 1
        end
      end
    end

take(n) click to toggle source

Limit to the first n items in the list

    # File lib/facets/denumerable.rb, line 43
    def take(n)
      Denumerator.new do |output|
        count = 0
        each do |*input|
          break if count >= n
          output.yield(*input)
          count += 1
        end
      end
    end