Lisp用list初始化变量

时间:2011-12-23 13:18:42

标签: lisp

我正在学习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))))

这可行,但它太长了。有更好的方法吗?

2 个答案:

答案 0 :(得分:5)

(let ((initial-state '((0 1) (2 3) (4 5))))
  ...)

'扩展为(quote ...),这基本上意味着“不评估这一点,只需将其作为列表返回给我”。它用于将数据与代码分开(在lisp中是相关的概念)。

答案 1 :(得分:3)

你是说这个吗?

(let ((initial-state '((0 1) (2 3) (5 4)))) ...)

单引号是引用。 :) 更多关于引用的信息: