% Accessor REST
Accessor REST
rest list => tail
(setf (rest list) new-tail)
list - リスト。ドットリストと循環リストを受け付けます。
tail - オブジェクト
restはcdrとしての操作と同じ動作をします。
覚えやすいようにfirstを補完しています。
具体的には下記のとおりです。
(rest list) == (cdr list)
(setf (rest list) new-tail) == (setf (cdr list) new-tail)
(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")
なし。
なし。
なし。
restは、様式上としてcdrよりも好まれる場合があり、
それは引数が主観的にコンスというよりもならリストとして見られるときです。