From 61a6ecfd94140f8f6546eb008ccf1bfd5422e2ef Mon Sep 17 00:00:00 2001 From: def Date: Mon, 11 Aug 2014 21:05:21 +0200 Subject: [PATCH] Move newSeqWith to sequtils --- lib/pure/collections/sequtils.nim | 24 ++++++++++++++++++++++++ lib/system.nim | 17 ----------------- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/lib/pure/collections/sequtils.nim b/lib/pure/collections/sequtils.nim index c50c4165b0..2629e9f407 100644 --- a/lib/pure/collections/sequtils.nim +++ b/lib/pure/collections/sequtils.nim @@ -409,6 +409,23 @@ template mapIt*(varSeq, pred: expr) = let it {.inject.} = varSeq[i] varSeq[i] = pred +template newSeqWith*(len: int, init: expr): expr = + ## creates a new sequence, calling `init` to initialize each value. Example: + ## + ## .. code-block:: nimrod + ## var seq2D = newSeqWith(20, newSeq[bool](10)) + ## seq2D[0][0] = true + ## seq2D[1][0] = true + ## seq2D[0][1] = true + ## + ## import math + ## var seqRand = newSeqWith(20, random(10)) + ## echo seqRand + var result {.gensym.} = newSeq[type(init)](len) + for i in 0 ..