我遇到了一个Clojure项目的问题,但我似乎找不到答案。我想要比较两个符号:
'x 'y
但是当我使用以下代码时:
(= ('x 'y))
它返回true。与此相同的是:
(identical? 'x 'y)
我发现'identical'比较内存地址,但是我不知道为什么当比较'x'和'y'时返回true?我没有看到像这样的问题,大多数其他帖子都比较数字。
(= 'x 'y)
。(= nil) ; => true
('x 'y) ; => nil
('x #{'x}) ; => 'x
('x #{'z} :one) ; => :one
(instance? clojure.lang.IFn 'x) ; => true
(= ('x 'y))
中,你正在将('x 'y)
与什么进行比较?因为(= 'x 'y)
返回 false。 - octopusgrabbus