Пролог - Поиск текущего каталога, относительного каталога для предиката 'tell' - PullRequest
0 голосов
/ 14 апреля 2010

У меня проблемы с попыткой выяснить, как заставить пролог выложить текстовый файл туда, куда я хочу. В настоящее время я делаю кучу операций, а затем использую

tell('output.txt')

для записи вывода. Теперь проблема в том, что когда я делаю это, он создает этот файл в папке SWI \ bin \. Мне было интересно, если есть способ заставить его создать этот файл в каталоге, содержащем фактический файл .pl. Таким образом, даже если файл был перемещен (и будет), текстовый файл создается именно там, где находится исходный файл.

Короче говоря, есть ли способ узнать местоположение исходного файла после обращения к исходному файлу?

Большое спасибо!

1 Ответ

0 голосов
/ 23 апреля 2010

Вы можете получить имена всех загруженных файлов, используя source_file/1.

Из руководства SWI-Prolog:

source_file(?File)

Trueесли File - это загруженный исходный файл Prolog.Файл - это абсолютный и канонический путь к исходному файлу.

...