npt-japanese

% Macro POP

UP


Macro POP

Macro POP

構文

pop place => element

引数と戻り値

place - place, リストである値(ドットリストか循環リストの可能性があります)
element - オブジェクト(placeの内容のcar部)

定義

popplaceから値を読み、 取得されたリストのcarを取得し、 placeにリストのcdrを書き込み、 そして最後にリストから取得した元のcar部を返却します。

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

例文

(setq stack '(a b c)) =>  (A B C)
(pop stack) =>  A  
stack =>  (B C)
(setq llst '((1 2 3 4))) =>  ((1 2 3 4))
(pop (car llst)) =>  1
llst =>  ((2 3 4))

副作用

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

影響

なし。

例外

なし。

参考

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

備考

(pop place)の効果は、だいたい次と同等です。

(prog1 (car place) (setf place (cdr place)))

ただし、これはサブフォームを3回評価するのに対して、 popはそれをたった一度しか評価しません。


TOP, Github