Removed the use of .gensym pragma inside stdlib templates
This commit is contained in:
parent
55e86184a5
commit
91d3661522
2 changed files with 9 additions and 9 deletions
|
|
@ -231,7 +231,7 @@ template sortedByIt*(seq1, op: untyped): untyped =
|
||||||
##
|
##
|
||||||
## echo people.sortedByIt((it.age, it.name))
|
## echo people.sortedByIt((it.age, it.name))
|
||||||
##
|
##
|
||||||
var result {.gensym.} = sorted(seq1, proc(x, y: type(seq1[0])): int =
|
var result = sorted(seq1, proc(x, y: type(seq1[0])): int =
|
||||||
var it {.inject.} = x
|
var it {.inject.} = x
|
||||||
let a = op
|
let a = op
|
||||||
it = y
|
it = y
|
||||||
|
|
|
||||||
|
|
@ -371,7 +371,7 @@ template filterIt*(seq1, pred: untyped): untyped =
|
||||||
## notAcceptable = filterIt(temperatures, it > 50 or it < -10)
|
## notAcceptable = filterIt(temperatures, it > 50 or it < -10)
|
||||||
## assert acceptable == @[-2.0, 24.5, 44.31]
|
## assert acceptable == @[-2.0, 24.5, 44.31]
|
||||||
## assert notAcceptable == @[-272.15, 99.9, -113.44]
|
## assert notAcceptable == @[-272.15, 99.9, -113.44]
|
||||||
var result {.gensym.} = newSeq[type(seq1[0])]()
|
var result = newSeq[type(seq1[0])]()
|
||||||
for it {.inject.} in items(seq1):
|
for it {.inject.} in items(seq1):
|
||||||
if pred: result.add(it)
|
if pred: result.add(it)
|
||||||
result
|
result
|
||||||
|
|
@ -420,7 +420,7 @@ template allIt*(seq1, pred: untyped): bool =
|
||||||
## let numbers = @[1, 4, 5, 8, 9, 7, 4]
|
## let numbers = @[1, 4, 5, 8, 9, 7, 4]
|
||||||
## assert allIt(numbers, it < 10) == true
|
## assert allIt(numbers, it < 10) == true
|
||||||
## assert allIt(numbers, it < 9) == false
|
## assert allIt(numbers, it < 9) == false
|
||||||
var result {.gensym.} = true
|
var result = true
|
||||||
for it {.inject.} in items(seq1):
|
for it {.inject.} in items(seq1):
|
||||||
if not pred:
|
if not pred:
|
||||||
result = false
|
result = false
|
||||||
|
|
@ -451,7 +451,7 @@ template anyIt*(seq1, pred: untyped): bool =
|
||||||
## let numbers = @[1, 4, 5, 8, 9, 7, 4]
|
## let numbers = @[1, 4, 5, 8, 9, 7, 4]
|
||||||
## assert anyIt(numbers, it > 8) == true
|
## assert anyIt(numbers, it > 8) == true
|
||||||
## assert anyIt(numbers, it > 9) == false
|
## assert anyIt(numbers, it > 9) == false
|
||||||
var result {.gensym.} = false
|
var result = false
|
||||||
for it {.inject.} in items(seq1):
|
for it {.inject.} in items(seq1):
|
||||||
if pred:
|
if pred:
|
||||||
result = true
|
result = true
|
||||||
|
|
@ -512,7 +512,7 @@ template foldl*(sequence, operation: untyped): untyped =
|
||||||
## assert concatenation == "nimiscool"
|
## assert concatenation == "nimiscool"
|
||||||
let s = sequence
|
let s = sequence
|
||||||
assert s.len > 0, "Can't fold empty sequences"
|
assert s.len > 0, "Can't fold empty sequences"
|
||||||
var result {.gensym.}: type(s[0])
|
var result: type(s[0])
|
||||||
result = s[0]
|
result = s[0]
|
||||||
for i in 1..<s.len:
|
for i in 1..<s.len:
|
||||||
let
|
let
|
||||||
|
|
@ -537,7 +537,7 @@ template foldl*(sequence, operation, first): untyped =
|
||||||
## numbers = @[0, 8, 1, 5]
|
## numbers = @[0, 8, 1, 5]
|
||||||
## digits = foldl(numbers, a & (chr(b + ord('0'))), "")
|
## digits = foldl(numbers, a & (chr(b + ord('0'))), "")
|
||||||
## assert digits == "0815"
|
## assert digits == "0815"
|
||||||
var result {.gensym.}: type(first)
|
var result: type(first)
|
||||||
result = first
|
result = first
|
||||||
for x in items(sequence):
|
for x in items(sequence):
|
||||||
let
|
let
|
||||||
|
|
@ -574,7 +574,7 @@ template foldr*(sequence, operation: untyped): untyped =
|
||||||
## assert concatenation == "nimiscool"
|
## assert concatenation == "nimiscool"
|
||||||
let s = sequence
|
let s = sequence
|
||||||
assert s.len > 0, "Can't fold empty sequences"
|
assert s.len > 0, "Can't fold empty sequences"
|
||||||
var result {.gensym.}: type(s[0])
|
var result: type(s[0])
|
||||||
result = sequence[s.len - 1]
|
result = sequence[s.len - 1]
|
||||||
for i in countdown(s.len - 2, 0):
|
for i in countdown(s.len - 2, 0):
|
||||||
let
|
let
|
||||||
|
|
@ -598,7 +598,7 @@ template mapIt*(seq1, typ, op: untyped): untyped =
|
||||||
## assert strings == @["4", "8", "12", "16"]
|
## assert strings == @["4", "8", "12", "16"]
|
||||||
## **Deprecated since version 0.12.0:** Use the ``mapIt(seq1, op)``
|
## **Deprecated since version 0.12.0:** Use the ``mapIt(seq1, op)``
|
||||||
## template instead.
|
## template instead.
|
||||||
var result {.gensym.}: seq[typ] = @[]
|
var result: seq[typ] = @[]
|
||||||
for it {.inject.} in items(seq1):
|
for it {.inject.} in items(seq1):
|
||||||
result.add(op)
|
result.add(op)
|
||||||
result
|
result
|
||||||
|
|
@ -662,7 +662,7 @@ template newSeqWith*(len: int, init: untyped): untyped =
|
||||||
## import random
|
## import random
|
||||||
## var seqRand = newSeqWith(20, random(10))
|
## var seqRand = newSeqWith(20, random(10))
|
||||||
## echo seqRand
|
## echo seqRand
|
||||||
var result {.gensym.} = newSeq[type(init)](len)
|
var result = newSeq[type(init)](len)
|
||||||
for i in 0 .. <len:
|
for i in 0 .. <len:
|
||||||
result[i] = init
|
result[i] = init
|
||||||
result
|
result
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue