2

我有一个程序,我在其中断言一些事实。例如:

apple(red)
dog(browm)
desk(black)

我想在文件中创建一个子句。例如:

  mylife(my):- 
      apple(red),
      dog(browm),
      desk(black).

我该怎么做才能将事实写入文件txt?

4

1 回答 1

2

应该更容易 ?- 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)

于 2013-10-16T18:09:03.637 回答