diff options
author | Dominik Picheta <dominikpicheta@googlemail.com> | 2015-04-30 16:09:27 +0100 |
---|---|---|
committer | Dominik Picheta <dominikpicheta@googlemail.com> | 2015-04-30 16:09:27 +0100 |
commit | 0be654efe11311fcf1200c0e7dba9ecd55fa5591 (patch) | |
tree | 7f55b6c5f467a7094fb0978841a08a9b1764f0c3 /tests/iter/tconcat.nim | |
parent | 4e778f9aac184655135daaff6579ef4a553d225a (diff) | |
parent | d9d5aa60b7df936ffe6149143c7202604f71465f (diff) | |
download | Nim-0be654efe11311fcf1200c0e7dba9ecd55fa5591.tar.gz |
Merge branch 'devel'
Diffstat (limited to 'tests/iter/tconcat.nim')
-rw-r--r-- | tests/iter/tconcat.nim | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/iter/tconcat.nim b/tests/iter/tconcat.nim new file mode 100644 index 000000000..477ac5e26 --- /dev/null +++ b/tests/iter/tconcat.nim @@ -0,0 +1,24 @@ +discard """ + output: '''1 +2 +3 +4 +20 +21 +22 +23''' +""" + +proc toIter*[T](s: Slice[T]): iterator: T = + iterator it: T {.closure.} = + for x in s.a..s.b: + yield x + return it + +iterator concat*[T](its: varargs[T, toIter]): auto = + for i in its: + for x in i(): + yield x + +for i in concat(1..4, 20..23): + echo i |