我陷入了一些我在Prolog中不太明白的錯誤。調用規則,當我得到這個錯誤(這似乎有時工作?):Prolog實例化錯誤?
error(instantiation_error,Var0)
任何人都可以向我解釋這是什麼意思?
,所以我有兩個規則:
special(X) :- user(X, Days), Days >= 20.
special(X) :- premiumuser(X).
user(guy, 40).
雖然用戶被添加動態有時它不是在Prolog的分貝。我可以消除第一個特殊(x)規則,並且錯誤消失。
當召呼:
special(someone).
我得到的錯誤
您是否可以消除任一規則並仍然重現錯誤?用戶/ 2的事實/規則怎麼樣? – ShiDoiSi 2010-04-09 14:15:59
好的,看我的原創貼子,謝謝。 – KP65 2010-04-09 14:19:58
我不能在SWI-Prolog中用你的代碼重現錯誤,假設定義了'premiumuser/1'。 – 2010-04-10 14:05:51