[HARLEQUIN][Common Lisp HyperSpec (TM)] [Previous][Up][Next]


Accessor REST

Syntax:

rest list => tail

(setf (rest list) new-tail)

Arguments and Values:

list---a list, which might be a dotted list or a circular list.

tail---an object.

Description:

rest performs the same operation as cdr, but mnemonically complements first. Specifically,

 (rest list) == (cdr list)
 (setf (rest list) new-tail) == (setf (cdr list) new-tail)

Examples:

 (rest '(1 2)) => (2)
 (rest '(1 . 2)) => 2
 (rest '(1)) => NIL
 (setq *cons* '(1 . 2)) => (1 . 2)
 (setf (rest *cons*) "two") => "two"
 *cons* => (1 . "two")

Side Effects: None.

Affected By: None.

Exceptional Situations: None.

See Also:

cdr, nthcdr

Notes:

rest is often preferred stylistically over cdr when the argument is to being subjectively viewed as a list rather than as a cons.


The following X3J13 cleanup issue, not part of the specification, applies to this section:


[Starting Points][Contents][Index][Symbols][Glossary][Issues]
Copyright 1996, The Harlequin Group Limited. All Rights Reserved.

AltStyle によって変換されたページ (->オリジナル) /