我有一个函数和 2 个变量,看起来像:
(setq A '(A B))
(setq B '(A B))
(defun myFunc (var1 var2)
(if (equal var1 var2)
'TRUE
'FALSE))
>>> (myFunc A B)
我的问题是我希望 Lisp 从字面上比较变量 NAMES。所以在上面的函数中,我希望它评估为 FALSE,因为 A != B,即使它们的“内容”是相同的。问题是当变量被传递时,它们似乎立即被评估,所以当我们到达条件时,它们的内容被检查是否等价。
我阅读了一些apply
似乎有帮助的内容,但我似乎无法理解它是如何使用的。 http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node81.html
任何帮助将非常感激。谢谢!