【入門】CommonLispその2【質問よろず】
■ このスレッドは過去ログ倉庫に格納されています
0588デフォルトの名無しさん
2007/01/29(月) 17:07:50おそらくシンボルとそれに入っているオブジェクトを混同している。
ひとつのシンボルには「関数値」と「値」という2つのオブジェクトを入れる箱が付いている。
(setf x #'+) は関数オブジェクトを「値」のほうに入れてしまう。
「関数値」のほうの箱に入れたいならば、
(setf (symbol-function 'x) #'+)
とやらなければならない。
シンボルに #' を付けるとそのシンボルの「関数値」に入っているオブジェクトが取り出される。
applyのような関数にはそういうものを渡さなければならない。
■ このスレッドは過去ログ倉庫に格納されています