source: extensions/gsdl-video/trunk/installed/cmdline/lib/ruby/1.8/rexml/syncenumerator.rb@ 18425

Last change on this file since 18425 was 18425, checked in by davidb, 15 years ago

Video extension to Greenstone

File size: 721 bytes
Line 
1module REXML
2 class SyncEnumerator
3 include Enumerable
4
5 # Creates a new SyncEnumerator which enumerates rows of given
6 # Enumerable objects.
7 def initialize(*enums)
8 @gens = enums
9 @biggest = @gens[0]
10 @gens.each {|x| @biggest = x if x.size > @biggest.size }
11 end
12
13 # Returns the number of enumerated Enumerable objects, i.e. the size
14 # of each row.
15 def size
16 @gens.size
17 end
18
19 # Returns the number of enumerated Enumerable objects, i.e. the size
20 # of each row.
21 def length
22 @gens.length
23 end
24
25 # Enumerates rows of the Enumerable objects.
26 def each
27 @biggest.zip( *@gens ) {|a|
28 yield(*a[1..-1])
29 }
30 self
31 end
32 end
33end
Note: See TracBrowser for help on using the repository browser.