對於百靈,我已經開始通過http://www.learnprolognow.org/來學習Prolog。我的藉口是,我只有只是開始。來自GNU Prolog的不連續謂詞警告
我不確定以下(簡單?)練習應如何書寫以按預期工作。 http://cs.union.edu/~striegnk/learn-prolog-now/html/node13.html#sec.l1.exercises
我可以看到Gnu Prolog 1.4(http://www.gprolog.org/)並不開心第二個嚮導的謂詞不在第一個謂詞旁邊。我可以重新排列程序以使其工作,但最終我得到的代碼對我的新手Prolog眼睛來說不如下面所介紹的那樣容易理解。
我錯過了一些明顯的東西嗎?
wiz.pl
wizard(ron).
hasWand(harry).
quidditchPlayer(harry).
wizard(X) :- hasBroom(X),hasWand(X).
hasBroom(X) :- quidditchPlayer(X).
諮詢wiz.pl
| ?- [wiz].
compiling D:/wiz.pl for byte code...
D:/wiz.pl:5: warning: discontiguous predicate wizard/1 - clause ignored
D:/wiz.pl compiled, 5 lines read - 632 bytes written, 24 ms
好,謝謝,我曾天真地認爲事實會被放在一起,然後導出規則。我會記住下一步的想法。我也會寄給作者評論。 –
@AdamStraughan他們有沒有迴應? –
@DanielLyons,我不記得,我的電子郵件搜索沒有發現。對不起,我忍不住了。 –