From 8e5bc6f8e7cdd2ece0a5da310fd4c3118eec3cf0 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Thu, 14 Apr 2022 21:04:00 -0700 Subject: cons: document member function and add tests. --- cppawk-cons.1 | 38 ++++++++++++++++++++++++++++++++++++++ testcases-cons | 20 ++++++++++++++++++++ 2 files changed, 58 insertions(+) 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 + +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 -- cgit v1.2.3