1

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

4

2 回答 2

1

您的 checko 应该可以很好地用于匹配列表。

于 2012-05-25T00:17:52.843 回答
0

如果作者本人的保证还不够,我使用 core.match 和向量模式匹配列表(实际上是一般的 seqs)就好了——这就是他们应该做的。

于 2012-05-25T02:41:12.823 回答