我是 LISP 的新手,这是我对它的全局变量的疑问。
我想做的是创建一个可以在结构中存储键值对的“列表”。这是我的示例代码:
(setq *x* '())
(acons 'apple 'fruit *x*)
*x*
(first *x*)
我希望我的输出看起来像,在我添加 (apple.fruit)
对之后,x
应该是 ((apple.fruit))
,但这是我得到的(在加载上述代码时):
CL-USER>
NIL
((APPLE . FRUIT))
NIL <--- this is still nil?
NIL
谁能帮我解决这个问题,因为我不确定为什么我不能给变量 x
添加值。
此外,我还有一个关于列表的问题:
有没有办法通过一个键来查找列表中的元素?
例如,对于上面的列表,我如何使用关键字apple
找到它对应的值fruit
?
谢谢
最佳答案
关于functional-programming - LISP 全局列表变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13004534/