From 6dece91ed3883a4b81986404004d90b6a6f0b30a Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Thu, 29 Sep 2011 17:31:11 -0700 Subject: [PATCH] stdlib: Add vec::eachi to the standard library --- src/lib/vec.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/lib/vec.rs b/src/lib/vec.rs index 3bb03afb483..59f29d40d7c 100644 --- a/src/lib/vec.rs +++ b/src/lib/vec.rs @@ -332,6 +332,16 @@ fn enum_uints(start: uint, end: uint) : uint::le(start, end) -> [uint] { ret r; } +fn eachi<@T>(f: block(T, uint) -> (), v: [mutable? T]) { + let i = 0u; + let l = len(v); + while (i < l) { + let elem = v[i]; // Satisfy alias checker + f(elem, i); + i += 1u; + } +} + // Iterate over a list with with the indexes iter iter2<@T>(v: [T]) -> (uint, T) { let i = 0u;