aboutsummaryrefslogtreecommitdiffstats
path: root/cppawk-cons.1
diff options
context:
space:
mode:
Diffstat (limited to 'cppawk-cons.1')
-rw-r--r--cppawk-cons.170
1 files changed, 70 insertions, 0 deletions
diff --git a/cppawk-cons.1 b/cppawk-cons.1
index 563f449..c1cb640 100644
--- a/cppawk-cons.1
+++ b/cppawk-cons.1
@@ -1367,6 +1367,76 @@ returns
position(4, list(1, 2, 3)) -> nil
.ft R
+.SS Functions \fInth\fP and \fInthcdr\fP
+.bk
+Syntax:
+
+.ft B
+ nth(\fIi\fP, \fIx\fP)
+ nthcdr(\fIi\fP, \fIx\fP)
+.ft R
+
+The
+.B nth
+and
+.B nthcdr
+functions perform zero-based indexing on lists.
+
+.B nth
+retrieves the
+.IR i -th
+item of the list
+.IR x .
+If
+.I i
+is zero, it finds the first item; if
+.I i
+is one, the second item and so forth.
+If there is no such item,
+.B nth
+returns
+.BR nil .
+
+.B nthcdr
+produces the suffix of the list
+.I x
+starting at the
+.IR i -th
+item, using the same numbering.
+
+Thus, there is a relationship between the two functions:
+
+.ft B
+ nth(\fIi\fP, \fIx\fP) <--> car(nthcdr(\fIi\fP, \fIx\fP))
+.ft R
+
+.B Examples:
+
+.ft B
+ nth(1, list(1, 2, 3)) -> 2
+ nth(15, list(1, 2, 3)) -> nil
+ nthcdr(0, list(1, 2, 3)) -> (1 2 3)
+ nthcdr(2, list(1, 2, 3)) -> (3)
+.ft R
+
+.B cons
+cell of the list. The
+.B nth
+function finds the
+.B car
+of that
+.B cons
+cell.
+
+If
+.I i
+is a negative integer, then
+.B nth
+returns nil and
+.B nthcdr
+returns
+.BR x .
+
.SH "SEE ALSO"
cppawk(1)