Aşağıdaki örnek kodda [[:a :A] [:b :B] [:c :C]]
den [:b :B]
kaldırmak istiyorum, ve (lvar)
ile :B
değiştirirseniz, artık çalışır:[: b (lvar)] 'ı Clojure core.logic dosyasındaki [[: a: A] [: b: B] [: c: C]] sayfasından nasıl kaldırabilirim?
;; Helper Function
(defne not-membero [x l]
([_ []])
([_ [?y . ?r]]
(!= x ?y)
(not-membero x ?r)))
Bu çalışma:
(run* [q]
(membero q [[:a :A] [:b :B] [:c :C]])
(not-membero q [[:b :B]]))
(run* [q]
(membero q [[:a :A] [:b :B] [:c :C]])
(!= q [:b :B]))
;; both return [[:a :A] [:c :C]], as expected
Bunlar yok (haber lvar
):
(run* [q]
(membero q [[:a :A] [:b :B] [:c :C]])
(not-membero q [[:b (lvar)]]))
(run* [q]
(membero q [[:a :A] [:b :B] [:c :C]])
(!= q [:b (lvar)]))
;; both return [[:a :A] [:b :B] [:c :C]], unexpected