mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	<http://intertwingly.net/blog/2007/12/31/Porting-REXML-to-Ruby-1-9> [ruby-core:14639] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			32 lines
		
	
	
	
		
			685 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
	
		
			685 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
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
 |