From 8faac66abe1fae381f68ff5eee586bfe250dbfe3 Mon Sep 17 00:00:00 2001 From: def Date: Fri, 3 Apr 2015 11:09:56 +0200 Subject: [PATCH] Add items iterator for slices --- lib/system.nim | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/system.nim b/lib/system.nim index ba0690ace5..fa0c36a2df 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -1738,6 +1738,12 @@ iterator items*(E: typedesc[enum]): E = for v in low(E)..high(E): yield v +iterator items*[T](s: Slice[T]): T = + ## iterates over the slice `s`, yielding each value between `s.a` and `s.b` + ## (inclusively). + for x in s.a..s.b: + yield x + iterator pairs*[T](a: openArray[T]): tuple[key: int, val: T] {.inline.} = ## iterates over each item of `a`. Yields ``(index, a[index])`` pairs. var i = 0