mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
52 lines
984 B
Nim
52 lines
984 B
Nim
discard """
|
|
file: "tseqcon.nim"
|
|
output: "Hithere, what\'s your name?Hathere, what\'s your name?"
|
|
"""
|
|
# Test the add proc for sequences and strings
|
|
|
|
const
|
|
nestedFixed = true
|
|
|
|
type
|
|
TRec {.final.} = object
|
|
x, y: int
|
|
s: string
|
|
seq: seq[string]
|
|
TRecSeq = seq[TRec]
|
|
|
|
proc test() =
|
|
var s, b: seq[string]
|
|
s = @[]
|
|
add(s, "Hi")
|
|
add(s, "there, ")
|
|
add(s, "what's your name?")
|
|
|
|
b = s # deep copying here!
|
|
b[0][1] = 'a'
|
|
|
|
for i in 0 .. len(s)-1:
|
|
write(stdout, s[i])
|
|
for i in 0 .. len(b)-1:
|
|
write(stdout, b[i])
|
|
|
|
|
|
when nestedFixed:
|
|
proc nested() =
|
|
var
|
|
s: seq[seq[string]]
|
|
for i in 0..10_000: # test if the garbage collector
|
|
# now works with sequences
|
|
s = @[
|
|
@["A", "B", "C", "D"],
|
|
@["E", "F", "G", "H"],
|
|
@["I", "J", "K", "L"],
|
|
@["M", "N", "O", "P"]]
|
|
|
|
test()
|
|
when nestedFixed:
|
|
nested()
|
|
|
|
#OUT Hithere, what's your name?Hathere, what's your name?
|
|
|
|
|