我想从许多模式变量中创建一个列表,以便可以比较列表而不是各个模式变量。
即不用写
[:find ?attr
:where
;; Many lines of data patterns and predicates
;; And now, the comparison point to point
[(= :v11 :v21)]
[(= :v12 :v22)]
;; ...
[(= :v1n :v2n)]]
写类似:
[:find ?attr
:where
;; Many lines of data patterns and predicates
;; Create 2 lists
['(v11 v12 ... v1n) v1]
['(v21 v22 ... v2n) v2]
[(= v1 v2)] ;; <-- Only one line for this comparison in this transformation function
我知道我应该使用该函数的fqdn,所以我想我应该使用(clojure.core/list ...)
而不是'(...)
。但是在所有情况下,我都会得到错误:
引用时:查询/参数中使用的非白名单符号:#{quote}。符号白名单是#{=
使用fqdn函数时:查询/参数中使用的非白名单符号:#{clojure.core / list}。符号白名单是#{=
所以: