diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2022-04-14 21:23:40 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2022-04-14 21:23:40 -0700 |
commit | e33a5c88d867eb8b7e518d9ca113757d8c5f650e (patch) | |
tree | f52d77b132c297cffcc90401effce0b37b92bb64 | |
parent | 3fbe59612519b2bd43b81f98fe43d043dd8a9a6f (diff) | |
download | cppawk-e33a5c88d867eb8b7e518d9ca113757d8c5f650e.tar.gz cppawk-e33a5c88d867eb8b7e518d9ca113757d8c5f650e.tar.bz2 cppawk-e33a5c88d867eb8b7e518d9ca113757d8c5f650e.zip |
cons: document position function and add tests
-rw-r--r-- | cppawk-cons.1 | 38 | ||||
-rw-r--r-- | testcases-cons | 20 |
2 files changed, 58 insertions, 0 deletions
diff --git a/cppawk-cons.1 b/cppawk-cons.1 index 13b4dd8..563f449 100644 --- a/cppawk-cons.1 +++ b/cppawk-cons.1 @@ -1329,6 +1329,44 @@ returns member("a", list("c", "d")) -> nil .ft R +.SS Function \fIposition\fP +.bk +.B Syntax: + +.ft B + position(\fIy\fP, \fIx\fP) +.ft R + +.B Description + +The +.B position +function searches list +.I x +for the leftmost element which is +.B equal +to +.IR y . +If such an element is found, its zero-based +position from the start of the list is returned. +if it is the first element, then zero is returned; +if it is second, then one, and so on. + +If +.IR y +is not found, then +.B position +returns +.BR nil . + +.B Examples: + +.ft B + position(1, list(1, 2, 3)) -> 0 + position(3, list(1, 2, 3)) -> 2 + position(4, list(1, 2, 3)) -> nil +.ft R + .SH "SEE ALSO" cppawk(1) diff --git a/testcases-cons b/testcases-cons index 1295cbc..6d14401 100644 --- a/testcases-cons +++ b/testcases-cons @@ -579,3 +579,23 @@ BEGIN { nil nil nil +-- +32: +$cppawk ' +#include <cons.h> + +BEGIN { + print sexp(position(1, list(1, 2, 3))) + print sexp(position(2, list(1, 2, 3))) + print sexp(position(3, list(1, 2, 3))) + print sexp(position(4, list(1, 2, 3))) + print sexp(position(1, nil)) + print sexp(position(nil, nil)) +}' +: +0 +1 +2 +nil +nil +nil |