1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
discard """
output: '''
'''
"""
import tables
block t4479:
type
MyTuple = tuple
num: int
strings: seq[string]
ints: seq[int]
var foo = MyTuple((
num: 7,
strings: @[],
ints: @[],
))
var bar = (
num: 7,
strings: @[],
ints: @[],
).MyTuple
var fooUnnamed = MyTuple((7, @[], @[]))
var n = 7
var fooSym = MyTuple((num: n, strings: @[], ints: @[]))
block t1910:
var p = newOrderedTable[tuple[a:int], int]()
var q = newOrderedTable[tuple[x:int], int]()
for key in p.keys:
echo key.a
for key in q.keys:
echo key.x
block t2121:
type
Item[K,V] = tuple
key: K
value: V
var q = newseq[Item[int,int]](1)
let (x,y) = q[0]
block t2369:
type HashedElem[T] = tuple[num: int, storedVal: ref T]
proc append[T](tab: var seq[HashedElem[T]], n: int, val: ref T) =
#tab.add((num: n, storedVal: val))
var he: HashedElem[T] = (num: n, storedVal: val)
#tab.add(he)
var g: seq[HashedElem[int]] = @[]
proc foo() =
var x: ref int
new(x)
x[] = 77
g.append(44, x)
block t1986:
proc test(): int64 =
return 0xdeadbeef.int64
const items = [
(var1: test(), var2: 100'u32),
(var1: test(), var2: 192'u32)
]
|