12345678910111213141516171819202122232425262728293031323334353637 |
- discard """
- output: "Key: 12 value: 12Key: 13 value: 13 Key: A value: 12 Key: B value: 13"
- disabled: true
- """
- # test explicit type instantiation
- type
- TDict*[TKey, TValue] = object
- data: seq[tuple[k: TKey, v: TValue]]
- PDict*[TKey, TValue] = ref TDict[TKey, TValue]
- proc newDict*[TKey, TValue](): PDict[TKey, TValue] =
- new(result)
- result.data = @[]
- proc add*(d: PDict, k: TKey, v: TValue) =
- d.data.add((k, v))
- #iterator items*(d: PDict): tuple[k: TKey, v: TValue] =
- # for k, v in items(d.data): yield (k, v)
- var d = newDict[int, string]()
- d.add(12, "12")
- d.add(13, "13")
- for k, v in items(d):
- stdout.write("Key: ", $k, " value: ", v)
- var c = newDict[char, string]()
- c.add('A', "12")
- c.add('B', "13")
- for k, v in items(c):
- stdout.write(" Key: ", $k, " value: ", v)
- stdout.write "\n"
|