fixes sequtils.filterIt

This commit is contained in:
Araq 2013-01-19 12:33:07 +01:00
commit 7b5b9656f5

View file

@ -129,11 +129,10 @@ template filterIt*(seq1, pred: expr): expr {.immediate, dirty.} =
## temperatures = @[-272.15, -2.0, 24.5, 44.31, 99.9, -113.44] ## temperatures = @[-272.15, -2.0, 24.5, 44.31, 99.9, -113.44]
## acceptable = filterIt(temperatures, it < 50 and it > -10) ## acceptable = filterIt(temperatures, it < 50 and it > -10)
## assert acceptable == @[-2.0, 24.5, 44.31] ## assert acceptable == @[-2.0, 24.5, 44.31]
block: var result {.gensym.}: type(seq1) = @[]
var result: type(seq1) = @[] for it in items(seq1):
for it in items(seq1): if pred: result.add(it)
if pred: result.add(it) result
result
template toSeq*(iter: expr): expr {.immediate.} = template toSeq*(iter: expr): expr {.immediate.} =
## Transforms any iterator into a sequence. ## Transforms any iterator into a sequence.