代入(setf)


Tag: 制御構造

setfは値を格納する場所への読み込みと書き込みの操作をシンボル以外の任意のものに一般化し拡張した構文(マクロ)です。

> x
;=> 1
> (setf x 2)
;=> 2
> (car y)
;=> 1
> (setf (car y) 2)
;=> 2
> z
;=> #(1 2 3)
> (setf (aref z 2) 4)
;=> 4
> z
;=> #(1 2 4)

一般になんらかの読み込み操作が与えられた場合、

(setf (読み込み操作) 新しい値)

によって書き込み操作を行えます。

setfは第2引数を返します。