[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
This function returns the value referred to by the first slot of the cons cell cons-cell. Expressed another way, this function returns the CAR of cons-cell.
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 |
This function returns the value referred to by the second slot of the cons cell cons-cell. Expressed another way, this function returns the CDR of cons-cell.
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 |
This function lets you take the CAR of a cons cell while avoiding
errors for other data types. It returns the CAR of object if
object is a cons cell, 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)) |
This function lets you take the CDR of a cons cell while avoiding
errors for other data types. It returns the CDR of object if
object is a cons cell, 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)) |
This macro is a way of examining the CAR of a list, and taking it off the list, all at once.
It operates on the list which is stored in the symbol listname. It removes this element from the list by setting listname to the CDR of its old value—but it also returns the CAR of that list, which is the element being removed.
x ⇒ (a b c) (pop x) ⇒ a x ⇒ (b c) |
This function returns the nth element of list. Elements are
numbered starting with zero, so the CAR of list is element number
zero. If the length of list is n or less, the value is
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)) |
The function elt
is similar, but applies to any kind of sequence.
For historical reasons, it takes its arguments in the opposite order.
Voir la section Sequences.
This function returns the nth CDR of list. In other words, it skips past the first n links of list and returns what follows.
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) |
This function returns the last link of list. The car
of this
link is the list's last element. If list is null, nil
is
returned. If n is non-nil
, the nth-to-last link is
returned instead, or the whole of list if n is bigger than
list's length.
This function returns the length of list, with no risk of either an error or an infinite loop. It generally returns the number of distinct cons cells in the list. However, for circular lists, the value is just an upper bound; it is often too large.
If list is not nil
or a cons cell, safe-length
returns
0.
The most common way to compute the length of a list, when you are not
worried that it may be circular, is with length
. Voir la section Sequences.
This is the same as (car (car cons-cell))
.
This is the same as (car (cdr cons-cell))
or (nth 1
cons-cell)
.
This is the same as (cdr (car cons-cell))
.
This is the same as (cdr (cdr cons-cell))
or (nthcdr 2
cons-cell)
.
This function returns the list x with the last element, or the last
n elements, removed. If n is greater than zero it makes a copy
of the list so as not to damage the original list. In general,
(append (butlast x n) (last x n))
will
return a list equal to x.
This is a version of butlast
that works by destructively modifying
the cdr
of the appropriate element, rather than making a copy of the
list.
[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.