From 00b198f27001d1a8af52b565b818157ecbbbb23d Mon Sep 17 00:00:00 2001 From: Patrick O'Leary Date: Thu, 15 Mar 2012 21:46:52 -0500 Subject: [PATCH] Added zip() and enumerate() utility functions for iterators. --- jl/iterator.jl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/jl/iterator.jl b/jl/iterator.jl index b0c94b1d50a00..258becba72afd 100644 --- a/jl/iterator.jl +++ b/jl/iterator.jl @@ -22,3 +22,8 @@ function done(ci::ShivaIterator, state) end false end + +zip(xs::AbstractArray, ys::AbstractArray) = [(xs[i], ys[i]) | i in 1:min(length(xs), length(ys))] +zip(xss::AbstractArray...) = [map((v)->ref(v, i), xss) | i in 1:min(map(length, xss))] + +enumerate(j::AbstractArray) = zip(1:length(j), j)