Next: 14 スペシャルフォーム,マクロ,関数のちがい
Up: 13 マクロ
Previous: 13.3 マクロの展開
変数の概念を拡張した一般化変数(generalized variable)という考え方があ
ります.それは,変数はデータを一つ格納するためのものですが,より一般的
に,データを一つだけ各脳できる場所のことを一般化変数と呼び,統一的に扱
おうという考え方です.
その一般化変数への代入を行なうものが,setf マクロです.
(setf 場所 式)
の形になります.
<cl> (setq x '(a b c))
(a b c)
<cl> (setf (car x) 10)
10
<cl> x
(10 b c)
<cl> (setf (elt x 2) 12)
12
<cl> x
(10 b 12)
となります.
(setf (car x) 10)
は,
(progn (rplaca x 10) 10)
という形にマクロ展開されます.
generated through LaTeX2HTML. M.Inaba 平成18年5月7日