'var T' for iterators
This commit is contained in:
parent
4f7fa05911
commit
3e806a374a
7 changed files with 79 additions and 11 deletions
29
tests/accept/run/tmoditer.nim
Normal file
29
tests/accept/run/tmoditer.nim
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
discard """
|
||||
output: "XXXXX01234"
|
||||
"""
|
||||
|
||||
iterator modPairs(a: var array[0..4,string]): tuple[key: int, val: var string] =
|
||||
for i in 0..a.high:
|
||||
yield (i, a[i])
|
||||
|
||||
iterator modItems*[T](a: var array[0..4,T]): var T =
|
||||
for i in 0..a.high:
|
||||
yield a[i]
|
||||
|
||||
var
|
||||
arr = ["a", "b", "c", "d", "e"]
|
||||
|
||||
for a in modItems(arr):
|
||||
a = "X"
|
||||
|
||||
for a in items(arr):
|
||||
stdout.write(a)
|
||||
|
||||
for i, a in modPairs(arr):
|
||||
a = $i
|
||||
|
||||
for a in items(arr):
|
||||
stdout.write(a)
|
||||
|
||||
echo ""
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue