我想在GCL lisp中做这样的事情:
(setq (car '(a 1)) (cdr '(a 1)))
得到结果:
(setq a 1)
这可能是这样的吗? 此致,Declan
答案 0 :(得分:0)
是的,这是可能的。 Common Lisp有一个完整的生态系统,您可以在程序运行期间编译和执行各种操作。
(setq test value)
最初只是一个变成(set 'test value)
的宏。 set
已被弃用,但我怀疑它会被删除。
(set 'test 'a)
(set test 10)
a ; ==> 10
现在,setq
确保您不会忘记这个小引用,因为您有99,99%的时间命名了您想要的变量,而您不需要调试半天来查找缺少的引号。