2
事實在序言中,如果我斷言某些事實,例如:保存斷言在序言
assert(boy(john4)).
assert(boy(john3)).
assert(boy(john2)).
assert(boy(john1)).
我如何保存在文件中這一事實?
事實在序言中,如果我斷言某些事實,例如:保存斷言在序言
assert(boy(john4)).
assert(boy(john3)).
assert(boy(john2)).
assert(boy(john1)).
我如何保存在文件中這一事實?
如果您使用的是SWI-Prolog,那麼一個替代方案是persistency.pl
庫。您需要聲明持久的謂詞及其參數類型。然後你可以使用assert_mypred
和retract_mypred
。更多信息:http://www.swi-prolog.org/pldoc/doc/swi/library/persistency.pl
[鏈接](http://stackoverflow.com/questions/2435237/prolog-assert-and-retract?rq=1) 我發現它並且它正確:) – user2254798 2013-04-07 16:25:41
您可能會感興趣[這個問題](http://stackoverflow.com/q/8269971/487781),其中的一個答案討論了在你找到的鏈接中使用的**機制的一個替代方法** tell/1。另外[SWI-Prolog有其自己的機制](http://stackoverflow.com/a/10141788/487781)用於保存解釋器狀態(但您不指定哪個Prolog感興趣)。 – hardmath 2013-04-09 02:37:20