【入門】Common Lisp その4【質問よろず】
レス数が950を超えています。1000を超えると書き込みができなくなります。
0968デフォルトの名無しさん
2008/07/10(木) 13:15:52教えて頂けないでしょうか
具体的には
(setq a 'b b 'c c 'd)
この状態で、(s a)を実行後Aを評価するとcやdを返すようなマクロsを定義したい。
aとbを返す版は作れました
a版1:(defmacro s(x) (setq A x))
a版2:(defmacro s(x) `,(setq A x))
b版:(defmacro s(x) `(setq A ,x))
こんな感じのコードを試してみましたがcではなく、bや一部が評価された版が返ってきます
(defmacro s(x) `(setq A ,`,x))
(defmacro s(x) ``(setq A ,,x))
また、a版1とa版2は、実質全く同じものと思っていても良いでしょうか
レス数が950を超えています。1000を超えると書き込みができなくなります。