我一直在prolog中遇到许多不同的默认函数的存在错误(我正在使用gprolog)。例如......
| ?- assert(a(1)).
uncaught exception: error(existence_error(procedure,assert/1),top_level/0)
| ?- g_assign(GVarName, 0).
uncaught exception: error(instantiation_error,g_assign/2)
| ?- b_setval(A, 0).
uncaught exception: error(existence_error(procedure,b_setval/2),top_level/0)
我需要安装其他东西吗?
基本上,我正试图找到一种定义全局变量的方法。我认为这样的事情可能是最好的方式......
fact(List).
predicate(List) :-
...some code...,
assert(fact(List)).
然后调用“全局变量”我会使用fact(List)
。