membero
의 반대쪽을 clojure.core.logic
에 구현하려고하는데, 하나 대신 2 개의 값이 반환됩니다. 그렇지 않으면 잘 작동합니다 (값이 목록에 있으면 아무 것도 반환하지 않습니다).왜 내 clojure.core.logic 비회원 함수가 두 개의 값을 반환합니까?
(defne nonmembero
"A relation where l is a collection, such that l does not contain x"
[x l]
([_()])
([_ [head]]
(!= x head))
([_ [head . tail]]
(!= x head)
(nonmembero x tail)))
예 실행 :
user> (run* [x] (nonmembero 1 [2 3 4 5]))
(_0 _0)
user> (run* [x] (nonmembero 1 [2 3 1 4 5]))
()