prepare for upcoming parsing change of unary operators
This commit is contained in:
parent
d7c39dd801
commit
a541be8935
8 changed files with 97 additions and 97 deletions
|
|
@ -81,7 +81,7 @@ proc deduplicate*[T](seq1: seq[T]): seq[T] =
|
|||
if not result.contains(itm): result.add(itm)
|
||||
|
||||
{.deprecated: [distnct: deduplicate].}
|
||||
|
||||
|
||||
proc zip*[S, T](seq1: seq[S], seq2: seq[T]): seq[tuple[a: S, b: T]] =
|
||||
## Returns a new sequence with a combination of the two input sequences.
|
||||
##
|
||||
|
|
@ -181,7 +181,7 @@ iterator filter*[T](seq1: seq[T], pred: proc(item: T): bool {.closure.}): T =
|
|||
## for n in filter(numbers, proc (x: int): bool = x mod 2 == 0):
|
||||
## echo($n)
|
||||
## # echoes 4, 8, 4 in separate lines
|
||||
for i in countup(0, len(seq1) -1):
|
||||
for i in countup(0, len(seq1)-1):
|
||||
var item = seq1[i]
|
||||
if pred(item): yield seq1[i]
|
||||
|
||||
|
|
@ -228,7 +228,7 @@ proc delete*[T](s: var seq[T], first=0, last=0) =
|
|||
## var dest = @[1,1,1,2,2,2,2,2,2,1,1,1,1,1]
|
||||
## dest.delete(3, 8)
|
||||
## assert outcome == dest
|
||||
|
||||
|
||||
var i = first
|
||||
var j = last+1
|
||||
var newLen = len(s)-j+i
|
||||
|
|
@ -246,12 +246,12 @@ proc insert*[T](dest: var seq[T], src: openArray[T], pos=0) =
|
|||
##
|
||||
##.. code-block::
|
||||
## var dest = @[1,1,1,1,1,1,1,1]
|
||||
## let
|
||||
## let
|
||||
## src = @[2,2,2,2,2,2]
|
||||
## outcome = @[1,1,1,2,2,2,2,2,2,1,1,1,1,1]
|
||||
## dest.insert(src, 3)
|
||||
## assert dest == outcome
|
||||
|
||||
|
||||
var j = len(dest) - 1
|
||||
var i = len(dest) + len(src) - 1
|
||||
dest.setLen(i + 1)
|
||||
|
|
@ -553,12 +553,12 @@ when isMainModule:
|
|||
var dest = @[1,1,1,2,2,2,2,2,2,1,1,1,1,1]
|
||||
dest.delete(3, 8)
|
||||
assert outcome == dest, """\
|
||||
Deleting range 3-9 from [1,1,1,2,2,2,2,2,2,1,1,1,1,1]
|
||||
Deleting range 3-9 from [1,1,1,2,2,2,2,2,2,1,1,1,1,1]
|
||||
is [1,1,1,1,1,1,1,1]"""
|
||||
|
||||
block: # insert tests
|
||||
var dest = @[1,1,1,1,1,1,1,1]
|
||||
let
|
||||
let
|
||||
src = @[2,2,2,2,2,2]
|
||||
outcome = @[1,1,1,2,2,2,2,2,2,1,1,1,1,1]
|
||||
dest.insert(src, 3)
|
||||
|
|
@ -610,7 +610,7 @@ when isMainModule:
|
|||
let
|
||||
a = @[1, 2, 3]
|
||||
b: seq[int] = @[]
|
||||
|
||||
|
||||
doAssert a.repeat(3) == @[1, 2, 3, 1, 2, 3, 1, 2, 3]
|
||||
doAssert a.repeat(0) == @[]
|
||||
#doAssert a.repeat(-1) == @[] # will not compile!
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue