见这个例子:
Clojure 1.4.0
user=> (def a 1)
#'user/a
user=> (def b 2)
#'user/b
user=> (= [1 2] [a b])
true
user=> (= '(1 2) '(1 2))
true
user=> (= '(1 2) '(a b))
false
为什么最后一个案例不起作用,如何在不必将列表转换为向量的情况下使最后一个案例工作?
谢谢!
答案 0 :(得分:15)
您正在比较包含1&的列表2列表包含符号a&湾符号是Clojure中的合法值。 '(a b)相当于(列出'a'b)不(列出a b)。
(= '(1 2) (list a b))
可能是您想要的比较。