prolog - 在 prolog 中写入文件时出现问题

标签 prolog

我正在尝试使用 prolog 写入 txt 文件,因此我尝试制作一个简单的谓词来测试它,如下:

writefacts():-
    open('output.txt', write, Out),
    write(Out, 'test'),
    close(Out).

问题是,当我在 SWI-Prolog(AMD64,多线程,版本 8.2.1)上运行它时,我得到的只是true,而 output.txt 上没有任何内容。

我已经尝试过寻找类似的问题,但我了解到的只是这段代码应该可以工作。感谢您的帮助。

最佳答案

我没有检查您的代码,但它看起来确实正确。

它写入的目录可能与您预期的不同。

要查看 SWI-Prolog 当前用作工作目录的目录,您可以使用这些谓词之一。

?- pwd.
% c:/users/groot/documents/prolog/
true.

?- working_directory(D,D).
D = 'c:/users/groot/documents/prolog/'.

HTH


有关更多详细信息,请参阅此 postSWI-Prolog forum.

关于prolog - 在 prolog 中写入文件时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64949737/

相关文章:

在 findall/setof 中 Prolog 多个谓词

prolog - Swi-Prolog : No permission to modify static procedure

prolog - 有人可以逐步描述这个 Prolog 代码吗?

operator-overloading - 尝试在 Prolog 中定义运算符时出现问题

prolog - 具有相同接地头的 Prolog 子句的多个实例。除了(可疑的)计算控制之外,还有什么用处?

windows - 将 SWI Prolog 代码编译为 Windows 可执行文件 - 解析器 Grails3 项目

replace - 替换序言中的部分表达式

list - 循环遍历列表,删除最后一个元素并将剩余列表添加到另一个列表

Prolog:如何判断谓词是否是确定性的

Prolog:计算列表中的原子数