Sha256: 60d8e8ffa51e93f1ffa9e284ebc39195f4ddedf2daa4861146ff7495ec57864b

Contents?: true

Size: 716 Bytes

Versions: 10

Compression:

Stored size: 716 Bytes

Contents

# frozen_string_literal: false
module REXML
  class SyncEnumerator
    include Enumerable

    # Creates a new SyncEnumerator which enumerates rows of given
    # Enumerable objects.
    def initialize(*enums)
      @gens = enums
      @length = @gens.collect {|x| x.size }.max
    end

    # Returns the number of enumerated Enumerable objects, i.e. the size
    # of each row.
    def size
      @gens.size
    end

    # Returns the number of enumerated Enumerable objects, i.e. the size
    # of each row.
    def length
      @gens.length
    end

    # Enumerates rows of the Enumerable objects.
    def each
      @length.times {|i|
        yield @gens.collect {|x| x[i]}
      }
      self
    end
  end
end

Version data entries

10 entries across 10 versions & 3 rubygems

Version Path
rho-tau-extensions-7.6.0 libs/rexml-edge/rexml/syncenumerator.rb
rho-tau-extensions-7.4.1 libs/rexml-edge/rexml/syncenumerator.rb
rexml-3.1.9.1 lib/rexml/syncenumerator.rb
rho-tau-extensions-7.1.17 libs/rexml-edge/rexml/syncenumerator.rb
rexml-3.2.1 lib/rexml/syncenumerator.rb
rexml-3.2.0 lib/rexml/syncenumerator.rb
rexml-3.1.9 lib/rexml/syncenumerator.rb
rexml-3.1.8 lib/rexml/syncenumerator.rb
rexml-3.1.7.3 lib/rexml/syncenumerator.rb
ruby-compiler-0.1.1 vendor/ruby/lib/rexml/syncenumerator.rb