English 中文(简体)
列表中的匹配牌
原标题:matche on lists

我在想我能不能用像匹配一样的东西 来做与核心.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 程序 。

最佳回答

你的棋子应该对相匹配的名单很合得来

问题回答

如果提交人本人的保证不足,我使用核心匹配和矢量模式的匹配清单(以及实际上一般的续集)只是罚款----这是他们应该做的。





相关问题
How to improve Clojures error messages

I ve been playing a bit with Clojure and so far is fairly impressed, but one thing that I keep running into is wierd error messages from Clojure. This comes in two forms: Java errors, like null ...

clojure rmi classpath problem

I am trying to use clojure to implement a "plugin" for some vendor supplied software. Here is a little background on the vendor supplied software. It expects me to implement a particular interface ...

Help translating this Java codeblock to Clojure?

I m getting my feet wet with Clojure, and trying to get used to functional programming. I ve been translating various imperative functions from other languages into their Clojure equivalents -- and ...

Is functional Clojure or imperative Groovy more readable?

OK, no cheating now. No, really, take a minute or two and try this out. What does "positions" do? Edit: simplified according to cgrand s suggestion. (defn redux [[current next] flag] [(if flag ...

taking java method names as function arg in clojure

All, I want to create a function that takes a symbol representing a java method and applies it to some object: (user=> (defn f [m] (. "foo" (m))) When I execute this, I get a result much ...

how to efficiently apply a medium-weight function in parallel

I m looking to map a modestly-expensive function onto a large lazy seq in parallel. pmap is great but i m loosing to much to context switching. I think I need to increase the size of the chunk of work ...

热门标签