我想知道我是否可以使用像matche这样的东西与core.logic中的列表进行模式匹配
使用类似
的向量=> (defn checko [code r] (matche [code] ([['foo ?a ?b]] (== r [?a ?b]))))
=> (run* [q] (checko [:foo :u 2] q))
([:u 2])
工作得很好,但我无法弄清楚如何匹配列表(foo:u 2)而不是矢量。原因是我想使用core.logic来分析clojure程序。
答案 0 :(得分:1)
你的checko应该可以很好地匹配列表。
答案 1 :(得分:0)
如果作者本人的保证还不够,我已经使用了core.match和矢量模式匹配列表(实际上一般都是seqs)就好了 - 这就是他们应该做的事情。