我遇到了一些我在Prolog中并不理解的错误。调用规则时出现此错误(有时似乎有效吗?):
error(instantiation_error,Var0)
任何人都可以向我解释这意味着什么吗?
所以我有两个规则:
special(X) :- user(X, Days), Days >= 20.
special(X) :- premiumuser(X).
user(guy, 40).
虽然用户是动态添加的,但有时它不在Prolog数据库中。我可以消除第一个特殊(x)规则并且错误发生。
来电时:
special(someone).
我收到错误
答案 0 :(得分:0)
这意味着您已将一个仅适用于原子(例如<
)的仿函数应用于未实例化的变量。在我们告诉您之前,您需要发布演示问题的最少代码。