对于 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)
。