class Lazily::Zipper
def each
def each enumerators = @enumerables.map(&:to_enum) exhausted = {} while true chunk = enumerators.map do |enumerator| begin enumerator.next unless exhausted[enumerator] rescue StopIteration exhausted[enumerator] = true nil end end break if chunk.all?(&:nil?) yield chunk end end
def initialize(enumerables)
def initialize(enumerables) @enumerables = enumerables end