sequtils related changes

This commit is contained in:
Peter Mora 2015-10-05 22:41:54 +02:00
commit 75097e2981
11 changed files with 211 additions and 88 deletions

View file

@ -1,5 +1,5 @@
import json, tables
import json, tables, sequtils
proc run(json_params: TTable) =
let json_elems = json_params["files"].elems

View file

@ -0,0 +1,7 @@
import sequtils
var x = @[1, 2, 3]
x.apply(proc(x: var int) = x = x+10)
x.apply(proc(x: int): int = x+100)
x.applyIt(it+5000)
doAssert x == @[5111, 5112, 5113]

View file

@ -0,0 +1,28 @@
import sequtils
var x = @[1, 2, 3]
# This mapIt call will run with preallocation because ``len`` is available.
var y = x.mapIt($(it+10))
doAssert y == @["11", "12", "13"]
type structureWithoutLen = object
a: array[5, int]
iterator items(s: structureWithoutLen): int {.inline.} =
yield s.a[0]
yield s.a[1]
yield s.a[2]
yield s.a[3]
yield s.a[4]
var st: structureWithoutLen
st.a[0] = 0
st.a[1] = 1
st.a[2] = 2
st.a[3] = 3
st.a[4] = 4
# this will run without preallocating the result
# since ``len`` is not available
var r = st.mapIt($(it+10))
doAssert r == @["10", "11", "12", "13", "14"]

View file

@ -5,6 +5,7 @@ discard """
3'''
"""
import sequtils
# https://github.com/Araq/Nim/issues/797
proc foo[T](s:T):string = $s

View file

@ -1,4 +1,4 @@
import future
import future, sequtils
let x = map(@[1, 2, 3], x => x+10)
assert x == @[11, 12, 13]

View file

@ -5,7 +5,7 @@ yay'''
# Test overloading of procs when used as function pointers
import strutils
import strutils, sequtils
proc parseInt(x: float): int {.noSideEffect.} = discard
proc parseInt(x: bool): int {.noSideEffect.} = discard

View file

@ -5,6 +5,7 @@ discard """
77'''
"""
#import math
import sequtils
proc optarg(x:int, y:int = 0):int = x + 3 * y
proc singlearg(x:int):int = 20*x

View file

@ -27,6 +27,6 @@ when ATTEMPT == 0:
# bug #1543
import sequtils
(var i = @[""];i).mapIt(it)
(var i = @[""];i).applyIt(it)
# now works:
echo "##", i[0], "##"