Lisp中的相等和反向函数

时间:2013-04-03 02:11:55

标签: lisp common-lisp

我是Common Lisp的新手,经历了一个教程,无法解决问题

 (equal '(reverse (a b)) '(b a)))

返回nil。

非常感谢你的帮助。

微米。

1 个答案:

答案 0 :(得分:9)

在lisp中引用会阻止对s-exp的评估并将其作为函数传递。

因此,您将未评估函数'(反向(a b))与列表'(a b)进行比较

如果您将代码更改为

(equal (reverse '(a b)) '(b a))

(反向'(a b))将产生'(b a),因此相等的比较将返回true。