Macro PUSH

UP


Macro PUSH

Macro PUSH

構文

push item place => new-place-value

引数と戻り値

item - オブジェクト
place - place, 任意のオブジェクトの値
new-place-value - リスト(placeの新しい値)

定義

pushplaceに保存されているリストの先頭にitemを追加し、 placeにその結果のリストを保存して返却します。

placeのサブフォームの評価については、 5.1.1.1. placeのサブフォームの評価をご確認ください。

例文

(setq llst '(nil)) =>  (NIL)
(push 1 (car llst)) =>  (1)
llst =>  ((1))
(push 1 (car llst)) =>  (1 1)
llst =>  ((1 1))
(setq x '(a (b c) d)) =>  (A (B C) D)
(push 5 (cadr x)) =>  (5 B C)  
x =>  (A (5 B C) D)

副作用

placeの内容は修正されます。

影響

なし。

例外

なし。

参考

pop, pushnew, 5.1. 一般化された参照

備考

(push item place)の効果は、次と同等です。

(setf place (cons item place))

ただし、placeのサブフォームはただ一度しか評価されず、 itemplaceのあとに評価されます。


TOP, Github