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