Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure 克洛朱尔:“我不知道=&引用;比较集合中的值,为什么在这种情况下不能比较两个列表?_Clojure_Lisp - Fatal编程技术网

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))