diff options
Diffstat (limited to 'lib/rexml/syncenumerator.rb')
-rw-r--r-- | lib/rexml/syncenumerator.rb | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/rexml/syncenumerator.rb b/lib/rexml/syncenumerator.rb index 955e006cb2..11609bdf3d 100644 --- a/lib/rexml/syncenumerator.rb +++ b/lib/rexml/syncenumerator.rb @@ -6,8 +6,7 @@ module REXML # Enumerable objects. def initialize(*enums) @gens = enums - @biggest = @gens[0] - @gens.each {|x| @biggest = x if x.size > @biggest.size } + @length = @gens.collect {|x| x.size }.max end # Returns the number of enumerated Enumerable objects, i.e. the size @@ -24,8 +23,8 @@ module REXML # Enumerates rows of the Enumerable objects. def each - @biggest.zip( *@gens ) {|a| - yield(*a[1..-1]) + @length.times {|i| + yield @gens.collect {|x| x[i]} } self end |