1

我在试图弄清楚如何让 prolog 在我想要的地方吐出一个文本文件时遇到了麻烦。我目前正在做一堆操作,然后使用

tell('output.txt')

记录输出。现在的问题是,当我这样做时,它会在 SWI \bin\ 文件夹中创建这个文件。我想知道是否有办法让它在包含实际 .pl 文件的目录中创建这个文件。因此,即使文件被移动(并且会移动),文本文件也会在源文件所在的位置创建。

长话短说,一旦查阅了源文件,有没有办法获取源文件的位置?

非常感谢!

4

1 回答 1

2

您可以使用source_file/1.

来自 SWI-Prolog 手册:

source_file(?File)

如果 File 是加载的 Prolog 源文件,则为真。File 是源文件的绝对和规范路径。

于 2010-04-23T10:15:58.610 回答