GNU Emacs Lisp Reference Manual
As a special case, if cons-cell is nil, then car
is defined to return nil; therefore, any list is a valid argument
for car. An error is signaled if the argument is not a cons cell
or nil.
(car '(a b c))
=> a
(car '())
=> nil
As a special case, if cons-cell is nil, then cdr
is defined to return nil; therefore, any list is a valid argument
for cdr. An error is signaled if the argument is not a cons cell
or nil.
(cdr '(a b c))
=> (b c)
(cdr '())
=> nil
nil otherwise. This is in contrast
to car, which signals an error if object is not a list.
(car-safe object)
==
(let ((x object))
(if (consp x)
(car x)
nil))
nil otherwise.
This is in contrast to cdr, which signals an error if
object is not a list.
(cdr-safe object)
==
(let ((x object))
(if (consp x)
(cdr x)
nil))
nil.
If n is negative, nth returns the first element of
list.
(nth 2 '(1 2 3 4))
=> 3
(nth 10 '(1 2 3 4))
=> nil
(nth -3 '(1 2 3 4))
=> 1
(nth n x) == (car (nthcdr n x))
If n is zero or negative, nthcdr returns all of
list. If the length of list is n or less,
nthcdr returns nil.
(nthcdr 1 '(1 2 3 4))
=> (2 3 4)
(nthcdr 10 '(1 2 3 4))
=> nil
(nthcdr -3 '(1 2 3 4))
=> (1 2 3 4)