diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2022-05-30 06:44:28 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2022-05-30 06:44:28 -0700 |
commit | cce3c4bef38888be015b0652d136e34c8ae7e59f (patch) | |
tree | 8f1af5da0718bf01b71ca860616ca7b8f3d652a6 /tests/015 | |
parent | bc591cb5ee04582dbdf17a0125987ec03e8c064f (diff) | |
download | txr-cce3c4bef38888be015b0652d136e34c8ae7e59f.tar.gz txr-cce3c4bef38888be015b0652d136e34c8ae7e59f.tar.bz2 txr-cce3c4bef38888be015b0652d136e34c8ae7e59f.zip |
New: spln and tokn functions.
Instead of trying to work the new count parameter into the spl and
tok functions, it's better to make new ones.
* eval.c (eval_init): spln and tokn intrinsics registered.
* lib.[ch] (spln, tokn): New functions.
* tests/015/split.tl: New test cases.
* txr.1: Documented.
* stdlib/doc-syms.tl: Updated.
Diffstat (limited to 'tests/015')
-rw-r--r-- | tests/015/split.tl | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/015/split.tl b/tests/015/split.tl index 9e952342..15b3f2a7 100644 --- a/tests/015/split.tl +++ b/tests/015/split.tl @@ -211,6 +211,23 @@ (tok-str "a,b,c" #/[^,]/ t 4) ("" "a" "," "b" "," "c" "")) (mtest + (tok #/[^,]/ "a,b,c") #"a b c" + (tokn : #/[^,]/ "a,b,c") :error + (tokn nil #/[^,]/ "a,b,c") :error + (tokn 0 #/[^,]/ "a,b,c") ("a,b,c") + (tokn 1 #/[^,]/ "a,b,c") ("a" ",b,c") + (tokn 2 #/[^,]/ "a,b,c") ("a" "b" ",c") + (tokn 3 #/[^,]/ "a,b,c") ("a" "b" "c") + (tokn 4 #/[^,]/ "a,b,c") ("a" "b" "c")) + +(mtest + (tokn 0 #/[^,]/ t "a,b,c") ("a,b,c") + (tokn 1 #/[^,]/ t "a,b,c") ("" "a" ",b,c") + (tokn 2 #/[^,]/ t "a,b,c") ("" "a" "," "b" ",c") + (tokn 3 #/[^,]/ t "a,b,c") ("" "a" "," "b" "," "c" "") + (tokn 4 #/[^,]/ t "a,b,c") ("" "a" "," "b" "," "c" "")) + +(mtest (join) "" (join "") "" (join "" "") "" @@ -271,3 +288,13 @@ (split-str "a12b34c567d" #/[0-9]+/ t 2) ("a" "12" "b" "34" "c567d") (split-str "a12b34c567d" #/[0-9]+/ t 3) ("a" "12" "b" "34" "c" "567" "d") (split-str "a12b34c567d" #/[0-9]+/ t 4) ("a" "12" "b" "34" "c" "567" "d")) + +(mtest + (spl "," "a,b,c") #"a b c" + (spln : "," "a,b,c") :error + (spln nil "," "a,b,c") :error + (spln 0 "," "a,b,c") ("a,b,c") + (spln 1 "," "a,b,c") ("a" "b,c") + (spln 2 "," "a,b,c") ("a" "b" "c") + (spln 3 "," "a,b,c") ("a" "b" "c") + (spln 4 "," "a,b,c") ("a" "b" "c")) |