5
は私が[1 4] [1 5]
なぜcore.logicの出力が同じ値を返すのですか?
する結果を期待core.logic
(require [clojure.core.logic :as l]) (l/run* [q] (l/fresh [a b c] (l/membero a [1]) (l/membero b [4 5]) (l/membero c [1 2]) (l/== q [a b])))
でこれを試してみましたが、それは
[1 4] [1 4] [1 5] [1 5]
が、私はそれで遊んで開始し、これが見つかりました:
(require [clojure.core.logic :as l]) (l/run* [q] (l/fresh [a b c] (l/membero a [1]) (l/membero b [4 5]) (l/membero c [1 1 1 1 1 1 1 1]) (l/== q [a b])))を
;; => ([1 4] [1 4] [1 4] [1 5] [1 4] [1 4] [1 5] [1 4] [1 5] [1 4] [1 5] [1 5] [1 5] [1 5])
は[1 5]
が散在しています[1 4]
何が起こっていますか?この反復のことは、フィーチャーかバグでしょうか?
この回答は正しいです。 cはもっと多くの可能性をもたらしますが、その価値を証明するものではありませんので、繰り返し結果を得ているように見えます。 – dnolen