Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Prolog中保存断言的事实_Prolog_Prolog Assert - Fatal编程技术网

在Prolog中保存断言的事实

在Prolog中保存断言的事实,prolog,prolog-assert,Prolog,Prolog Assert,在prolog中,如果我断言某个事实,例如: assert(boy(john4)). assert(boy(john3)). assert(boy(john2)). assert(boy(john1)). 如何将此事实保存到文件中?如果您使用的是SWI Prolog,则另一种选择是persistency.pl库。您需要声明持久化谓词及其参数类型。然后可以使用assert\u mypred和retract\u mypred。更多信息:我找到了它,并且它是正确的:)您可能会感兴趣,其中一个答案讨论

在prolog中,如果我断言某个事实,例如:

assert(boy(john4)).
assert(boy(john3)).
assert(boy(john2)).
assert(boy(john1)).

如何将此事实保存到文件中?

如果您使用的是SWI Prolog,则另一种选择是
persistency.pl
库。您需要声明持久化谓词及其参数类型。然后可以使用
assert\u mypred
retract\u mypred
。更多信息:

我找到了它,并且它是正确的:)您可能会感兴趣,其中一个答案讨论了在您找到的链接中使用的过时的tell/1 tell机制的替代方案。也用于保存解释器状态(但不指定您感兴趣的Prolog)。