gpt4 book ai didi

clojure - 如何匹配包含 lvar 的 map ?

转载 作者:行者123 更新时间:2023-12-02 14:21:05 25 4
gpt4 key购买 nike

我尝试使用映射作为我的数据结构,并初始化它们以包含 lvar 以便稍后从其他关系中分配值。

成功:

(run 1 [q]
(fresh [a b]
(== q {:a 1 :b 2 :c b})
(featurec q {:a b})))
-> ({:a 1, :b 2, :c 1})

但是这些失败了:

;; Expected result -> ({:a 1 :b 2 :c _0})
(run 1 [q]
(fresh [a b]
(== q {:a a :b 2 :c b})
(featurec q {:a 1})))
-> java.lang.ClassCastException: java.lang.Long cannot be cast to clojure.lang.IPersistentMap

;; Expected result -> ({:a _0 :b 2 :c _0})
(run 1 [q]
(fresh [a b]
(== q {:a a :b 2 :c b})
(featurec q {:a b})))
-> java.lang.ClassCastException: clojure.core.logic.LVar cannot be cast to clojure.lang.IPersistentMap

我正在使用[org.clojure/core.logic "0.8.5"]。我怎样才能实现这两个目标?

最佳答案

这是由于 partial-map ( http://dev.clojure.org/jira/browse/LOGIC-145 ) 中的错误造成的。

关于clojure - 如何匹配包含 lvar 的 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21508534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com