我是LISP的新手,下面是我对全局变量的问题。
我的目标是创建一个“alist”来存储键值对。以下是我的示例代码:
(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
赋值。
另外,我还有一个关于alist的问题:
是否有一种方法可以通过键在列表中查找元素?
例如,对于上面的列表,如何使用键apple
来查找其相应的值fruit
?
谢谢