mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 09:24:36 +00:00
137 lines
2.0 KiB
Nim
137 lines
2.0 KiB
Nim
discard """
|
|
output: '''@[11, 12, 13]
|
|
@[11, 12, 13]
|
|
@[1, 3, 5]
|
|
@[1, 3, 5]
|
|
gppcbs
|
|
gppcbs
|
|
fpqeew
|
|
fpqeew
|
|
[11, 12, 13]
|
|
[11, 12, 13]
|
|
[11, 12, 13]
|
|
[11, 12, 13]
|
|
11 12 13
|
|
[11,12,13]
|
|
<Students>
|
|
<Student Name="Aprilfoo" />
|
|
<Student Name="bar" />
|
|
</Students>'''
|
|
"""
|
|
|
|
block:
|
|
var xs = @[1,2,3]
|
|
for x in xs.mitems:
|
|
x += 10
|
|
echo xs
|
|
|
|
block:
|
|
var xs = [1,2,3]
|
|
for x in xs.mitems:
|
|
x += 10
|
|
echo(@xs)
|
|
|
|
block:
|
|
var xs = @[1,2,3]
|
|
for i, x in xs.mpairs:
|
|
x += i
|
|
echo xs
|
|
|
|
block:
|
|
var xs = [1,2,3]
|
|
for i, x in xs.mpairs:
|
|
x += i
|
|
echo(@xs)
|
|
|
|
block:
|
|
var x = "foobar"
|
|
for c in x.mitems:
|
|
inc c
|
|
echo x
|
|
|
|
block:
|
|
var x = "foobar"
|
|
var y = cast[cstring](addr x[0])
|
|
for c in y.mitems:
|
|
inc c
|
|
echo x
|
|
|
|
block:
|
|
var x = "foobar"
|
|
for i, c in x.mpairs:
|
|
inc c, i
|
|
echo x
|
|
|
|
block:
|
|
var x = "foobar"
|
|
var y = cast[cstring](addr x[0])
|
|
for i, c in y.mpairs:
|
|
inc c, i
|
|
echo x
|
|
|
|
import lists
|
|
|
|
block:
|
|
var sl = initSinglyLinkedList[int]()
|
|
sl.prepend(3)
|
|
sl.prepend(2)
|
|
sl.prepend(1)
|
|
for x in sl.mitems:
|
|
x += 10
|
|
echo sl
|
|
|
|
block:
|
|
var sl = initDoublyLinkedList[int]()
|
|
sl.append(1)
|
|
sl.append(2)
|
|
sl.append(3)
|
|
for x in sl.mitems:
|
|
x += 10
|
|
echo sl
|
|
|
|
block:
|
|
var sl = initDoublyLinkedRing[int]()
|
|
sl.append(1)
|
|
sl.append(2)
|
|
sl.append(3)
|
|
for x in sl.mitems:
|
|
x += 10
|
|
echo sl
|
|
|
|
import deques
|
|
|
|
block:
|
|
var q = initDeque[int]()
|
|
q.addLast(1)
|
|
q.addLast(2)
|
|
q.addLast(3)
|
|
for x in q.mitems:
|
|
x += 10
|
|
echo q
|
|
|
|
import json
|
|
|
|
block:
|
|
var j = parseJson """{"key1": 1, "key2": 2, "key3": 3}"""
|
|
for key,val in j.pairs:
|
|
val.num += 10
|
|
echo j["key1"], " ", j["key2"], " ", j["key3"]
|
|
|
|
block:
|
|
var j = parseJson """[1, 2, 3]"""
|
|
for x in j.mitems:
|
|
x.num += 10
|
|
echo j
|
|
|
|
import xmltree, xmlparser, streams, strtabs
|
|
|
|
block:
|
|
var d = parseXml(newStringStream """<Students>
|
|
<Student Name="April" Gender="F" DateOfBirth="1989-01-02" />
|
|
<Student Name="Bob" Gender="M" DateOfBirth="1990-03-04" />
|
|
</Students>""")
|
|
for x in d.mitems:
|
|
x = <>Student(Name=x.attrs["Name"] & "foo")
|
|
d[1].attrs["Name"] = "bar"
|
|
echo d
|