我正在学习Lisp。我正在实施一些相对简单的问题的解决方案。我正在考虑列表,表示像这样的问题的初始状态
((0 1) (2 3) (5 4))
我想创建变量并将该列表分配给它。我试过了
(let ((initial-state ((0 1) (2 3) (5 4)))))
但这不会编译。之后我尝试了
(let ((initial-state list (list 0 1) (list 2 3) (list 5 4))))
这可行,但它太长了。有更好的方法吗?
答案 0 :(得分:5)
(let ((initial-state '((0 1) (2 3) (4 5))))
...)
'
扩展为(quote ...)
,这基本上意味着“不评估这一点,只需将其作为列表返回给我”。它用于将数据与代码分开(在lisp中是相关的概念)。
答案 1 :(得分:3)
你是说这个吗?
(let ((initial-state '((0 1) (2 3) (5 4)))) ...)
单引号是引用。 :) 更多关于引用的信息: