gpt4 book ai didi

clojure - core.logic统一匹配map中的值但不匹配key

转载 作者:行者123 更新时间:2023-12-02 18:23:15 25 4
gpt4 key购买 nike

我不明白为什么从以下两个示例中,第一个返回正确的值(1),而第二个返回()。我本来期望结果 (:key) 或找不到解决方案的异常,但不是空列表。

(l/run* [q]
(l/== {:key 1} {:key q}))

;; BUT IT DOESNT WORK

(l/run* [q]
(l/== {:key 1} {q 1}))

最佳答案

我还没有发现它是否被记录为预期行为,但查看 source code ,从我(有限的)理解来看,映射的统一似乎只发生在值上,而不是键上。

正如在 unify-with-map* 中实现的那样,当 core.logic 在第一个映射中找到键 :key 时,它看起来第二次提高它的值,但没有找到它,因此放弃了统一。由于没有解决方案,就像 @Arthur Ulfeldt 所说,你最终会得到 ()

关于clojure - core.logic统一匹配map中的值但不匹配key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27324013/

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