我是 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 的问题:
有没有办法通过键查找列表中的元素?
例如,对于上面的列表,如何使用 keyapple
找到其对应的 value fruit
?
谢谢你