다음 결과는 두 개의 단점 셀이 서로 다른 두 개의 단점 셀로 구성된 여러 결과를 반환 할 것으로 기대합니다. 그러나 0 개의 결과를 반환합니다. 왜 결과가 나오지 않습니까?이해 core.logic! =
(run* [c1 c2]
(fresh [lx ly x1 y1 x2 y2]
(== lx [1 2])
(== ly [4 5])
(membero x1 lx)
(membero x2 lx)
(membero y1 ly)
(membero y2 ly)
(conso x1 y1 c1)
(conso x2 y2 c2)
(!= c1 c2)))
예상 결과의
예 :
[(1 . 4) (2 . 5)]
[(1 . 4) (1 . 5)]
[(2 . 4) (2 . 5)]
[(1 . 4) (1 . 4)]
같은 결과를 반환하기를 기대하지 않을 것이다
같다.
(!= c1 c2)
부분을 제거하면 두 단점이 같은 부분을 포함하여 16 개의 결과가 나타납니다.
는 내가 함께 (!= c1 c2)
를 교체하면 내가 기대하는 결과를 얻을 : 같은 일을해야
(conde
((!= x1 x2))
((!= y1 y2)))
하지만, 명시 적으로 두 개의 셀을 확인합니다.
무엇이 질문입니까? 무엇을 해결하려고합니까? – octopusgrabbus
첫 번째 표현식에는 결과가 있지만 두 번째 표현식은 그렇지 않은 이유는 무엇입니까? – Brigham
제 질문을보다 명확하게 편집했습니다. – Brigham