diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2014-04-09 22:56:18 +0200 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2014-04-09 22:56:18 +0200 |
commit | a690e7b26772a9bb8367acb451a6250449e666ab (patch) | |
tree | 9aca0024db9c75970c4dfac10c55f1961c21ca25 /tests/misc/tpos.nim | |
parent | d0f013477b16520eefff69b861d2f26744463880 (diff) | |
parent | a157985e01cbf80383d5e50836072d70678c9de3 (diff) | |
download | Nim-a690e7b26772a9bb8367acb451a6250449e666ab.tar.gz |
Merge pull request #1075 from flaviut/inlinedocs
Add some documentations and code examples in system
Diffstat (limited to 'tests/misc/tpos.nim')
-rw-r--r-- | tests/misc/tpos.nim | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/misc/tpos.nim b/tests/misc/tpos.nim new file mode 100644 index 000000000..3d72536dd --- /dev/null +++ b/tests/misc/tpos.nim @@ -0,0 +1,35 @@ +discard """ + file: "tpos.nim" + output: "6" +""" +# test this particular function + +proc mypos(sub, s: string, start: int = 0): int = + var + i, j, M, N: int + M = sub.len + N = s.len + i = start + j = 0 + if i >= N: + result = -1 + else: + while True: + if s[i] == sub[j]: + Inc(i) + Inc(j) + else: + i = i - j + 1 + j = 0 + if (j >= M) or (i >= N): break + if j >= M: + result = i - M + else: + result = -1 + +var sub = "hello" +var s = "world hello" +write(stdout, mypos(sub, s)) +#OUT 6 + + |