0
在我的序言程序中,它成功地發現了當愛德華八世國王出生時是誰統治的,但由於某種原因也失敗了。這裏是我的代碼一小塊:爲什麼這個查詢成功,並在序言中失敗?
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'.
是什麼原因造成的?
代碼是好的;你可能在某處重複了一些子句。製作一個乾淨的源文件並重試。 :) – 2013-04-22 07:05:58