next up previous
Next: 14 スペシャルフォーム,マクロ,関数のちがい Up: 13 マクロ Previous: 13.3 マクロの展開

13.4 setfマクロ

変数の概念を拡張した一般化変数(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日