1
多分私はここで創造的であるようにしています。動的変数のシャドーイング部分
は、それは私がLET
バインディングでの一部に(などのplistなど)動的変数をシャドウすることができるように、動的変数のSETF
でき場所に動的バインディングの概念を拡張することは可能ですか? (getf *foo* :one)
ではないので、2
と1この例では動作しません:の値がシャドウする
(defparameter *foo* '(:one 1))
(let (((getf *foo* :one) 2))
(do-things))
:
例えば、私のような何かをできるようにしたいと思います変数名はLET
に値を割り当てることができますが、おそらく別の方法がありますか?
:
をこれはあなたのコード内の一般的な操作である場合は、あなたもそのためのマクロを定義できますあなたが元のリストを変更するのではなく、並行した/再入可能なコードで問題になるかもしれない) '(let((* foo *(list *:one 2 * foo *))))...) ) ' – coredump