다음 두 예제에서 첫 번째 값이 올바른 값 (1)
을 반환하는 이유는 알 수 없지만 두 번째 값은 ()
을 반환합니다. 결과가 (:key)
이거나 솔루션을 찾을 수 없다는 예외가 있었지만 빈 목록은 찾을 수 없습니다.core.logic 통합이 맵의 값과 일치하지만 키가 일치하지 않음
(l/run* [q]
(l/== {:key 1} {:key q}))
;; BUT IT DOESNT WORK
(l/run* [q]
(l/== {:key 1} {q 1}))
run *는 솔루션 목록을 반환하므로()는 솔루션이 없음을 의미합니다. –
동의하지만 해결책이 있습니다. 'q = : key'를 사용하면 방정식을 만족하지 않습니까? 나는 우리가 해결책을 읽을 필요가 있다고 생각한다. "해결책이 없다는 것을 보장 할 수있다"보다는 "해결책을 찾지 못했다"고 생각한다. – shaft