diff options
-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 a39b563..23302e0 100644 --- a/cppawk-cons.1 +++ b/cppawk-cons.1 @@ -1292,6 +1292,44 @@ and so forth. listar(1, 2, 3, list(4, 5, 6)) -> (1 2 3 4 5 6) .ft R +.SS Function \fImember\fP +.bk +.B Syntax: + +.ftB + member(y, x) +.ft R + +.B Description + +The +.B member +function returns the longest suffix of list +.I x +whose first element is +.B equal +to +.IR y . + +If +.I x +does not contain an item +.B equal +to +.IR y , +then +.B member +returns +.BR nil . + +.B Examples: + +.ft B + member(2, list(1, 2, 3)) -> (2 3) + member("a", list("a", "b", "c")) -> ("a" "b" "c") + member("a", list("c", "d")) -> nil +.ft R + .SH "SEE ALSO" cppawk(1) diff --git a/testcases-cons b/testcases-cons index c4f9cd8..1295cbc 100644 --- a/testcases-cons +++ b/testcases-cons @@ -559,3 +559,23 @@ __cons(1, __cons(2, __cons(3, ""))) 1 __cons(1, 2) __cons(1, __cons(2, 3)) +-- +31: +$cppawk ' +#include <cons.h> + +BEGIN { + print sexp(member(1, list(1, 2, 3))) + print sexp(member(2, list(1, 2, 3))) + print sexp(member(3, list(1, 2, 3))) + print sexp(member(4, list(1, 2, 3))) + print sexp(member(1, nil)) + print sexp(member(nil, nil)) +}' +: +(1 2 3) +(2 3) +(3) +nil +nil +nil |