我想知道是否可以使用 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 程序。
我想知道是否可以使用 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 程序。