0
내 프롤로그 프로그램에서 King Edward VIII가 태어 났을 때 누가 지배했는지 발견하는데 성공하지만 어떤 이유로 든 실패합니다.이 쿼리가 프롤로그에서 성공하고 실패하는 이유는 무엇입니까?
reigned('Queen Victoria', 1819, 1901).
reigned('King Edward VII', 1901, 1910).
reigned('Queen Elizabeth II', 1952, 2013).
born('King George V', 1865).
born('King Edward VIII', 1894).
born('King George VI', 1895).
born('Prince Henry', 1984).
regentWhenBorn(X, Y) :- reigned(X, Begin, End), born(Y, Born),
Begin =< Born, Born =< End.
이 무엇 프롤로그 표시입니다 :
?- regentWhenBorn(Who, 'King Edward VIII').
Who = 'Queen Victoria' ;
false.
하거나 다른 사람
..이 원인을?- regentWhenBorn(Who, 'Prince Henry').
Who = 'Queen Elizabeth II' ;
Who = 'Queen Elizabeth II'.
여기 내 코드의 작은 덩어리이다?
코드가 좋다. 어딘가에 중복 된 조항이있을 수 있습니다. 깨끗한 소스 파일을 만들고 다시 시도하십시오. :) –