我有一个程序,我在其中断言一些事实。例如:
apple(red)
dog(browm)
desk(black)
我想在文件中创建一个子句。例如:
mylife(my):-
apple(red),
dog(browm),
desk(black).
我该怎么做才能将事实写入文件txt?
我有一个程序,我在其中断言一些事实。例如:
apple(red)
dog(browm)
desk(black)
我想在文件中创建一个子句。例如:
mylife(my):-
apple(red),
dog(browm),
desk(black).
我该怎么做才能将事实写入文件txt?
应该更容易
?- tell(a_file), listing(mylife), told.
也format('~q.~n', [T])
(或writeq(T)
),可以帮助。
当然 IO 细节会根据你的实际需要有很大的不同。如果您的数据库很大,并且您正在使用 SWI-prolog,请查看QLF格式。加载速度要快很多...
请注意,tell/told 是一个简单的工具,容易出错,在“生产”代码中您应该open(a_file, write, S), ..., close(S).
使用错误处理(参见setup_call_cleanup /3)