我在 clojure 项目中遇到了问题,而且我似乎无法找到答案。我正在尝试比较两个符号:
'x 'y
但是当我使用时:
(= ('x 'y))
它返回 true。与以下内容相同:
(identical? 'x 'y)
我发现相同比较内存地址,但我还没有找到为什么'x和'y在比较时返回true?我还没见过这样的问题,其他帖子大多数都是比较数字的。
最佳答案
您正在将符号列表与任何内容进行比较。如果只向 = 传递一个参数,则默认返回 true。只需删除符号周围的括号,然后您就可以比较符号本身。 (= 'x 'y)
。
关于Clojure 符号相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13188140/