Clojure 克洛朱尔:“我不知道=&引用;比较集合中的值,为什么在这种情况下不能比较两个列表?
请参见此示例:Clojure 克洛朱尔:“我不知道=&引用;比较集合中的值,为什么在这种情况下不能比较两个列表?,clojure,lisp,Clojure,Lisp,请参见此示例: 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 为什么最后一个案例不起作用,我如何使最后一个案例起作用而不必将列表转换为向量 谢谢大家! 您正在比较包含1和2的列表与包含符号a和b的列表。符
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
为什么最后一个案例不起作用,我如何使最后一个案例起作用而不必将列表转换为向量
谢谢大家! 您正在比较包含1和2的列表与包含符号a和b的列表。符号是Clojure中的合法值。”(a b)等同于(列表‘a’b)而非(列表‘a’b) 可能是你想要的比较
(= '(1 2) (list a b))