12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- discard """
- file: "tcnstseq.nim"
- output: '''
- AngelikaAnneAnnaAnkaAnja
- AngelikaAnneAnnaAnkaAnja
- AngelikaAnneAnnaAnkaAnja
- onetwothree
- onetwothree
- onetwothree
- one1two2three3
- '''
- """
- # Test the new implicit conversion from sequences to arrays in a constant
- # context.
- import strutils
- block t1:
- const
- myWords = "Angelika Anne Anna Anka Anja".split()
- for x in items(myWords):
- write(stdout, x) #OUT AngelikaAnneAnnaAnkaAnja
- echo ""
- block t2:
- const
- myWords = @["Angelika", "Anne", "Anna", "Anka", "Anja"]
- for i in 0 .. high(myWords):
- write(stdout, myWords[i]) #OUT AngelikaAnneAnnaAnkaAnja
- echo ""
- block t3:
- for w in items(["Angelika", "Anne", "Anna", "Anka", "Anja"]):
- write(stdout, w) #OUT AngelikaAnneAnnaAnkaAnja
- echo ""
- block t2656:
- iterator it1(args: seq[string]): string =
- for s in args: yield s
- iterator it2(args: seq[string]): string {.closure.} =
- for s in args: yield s
- iterator it3(args: openArray[string]): string {.closure.} =
- for s in args: yield s
- iterator it4(args: openArray[(string, string)]): string {.closure.} =
- for s1, s2 in items(args): yield s1 & s2
- block:
- const myConstSeq = @["one", "two", "three"]
- for s in it1(myConstSeq):
- stdout.write s
- echo ""
- for s in it2(myConstSeq):
- stdout.write s
- echo ""
- for s in it3(myConstSeq):
- stdout.write s
- echo ""
- block:
- const myConstSeq = @[("one", "1"), ("two", "2"), ("three", "3")]
- for s in it4(myConstSeq):
- stdout.write s
- echo ""
|