Как изменить каталог пакетов в SWI-Prolog - PullRequest
0 голосов
/ 01 февраля 2019

Я пытаюсь установить пакет (sldnfdraw) в SWI-Prolog, но я не могу найти способ указать каталог установки (т. Е. Где я хочу, чтобы он был установлен).

документация указывает на то, что можно выбрать каталог пакета, но мне не повезло.По общему признанию, я довольно плохо знаком с Прологом и могу пропустить что-то очевидное.Тем не менее я безуспешно искал ответы во всех обычных местах (переполнение стека, документация).

Я попытался установить пакет sldnfdraw, вызвав pack_install(sldnfdraw). Это привело бы к созданию каталога в $HOME/lib/swipl/pack.Затем я попытался использовать различные варианты pack_install(sldnfdraw, $PREF_DIR)., где $PREF_DIR - это абсолютный путь к каталогу, в который я хотел установить пакет.В документации упоминается какой-то способ передачи опций в функции, но в нем не указан метод для этого.Учитывая ограниченные ресурсы, доступные на Прологе (и эту конкретную реализацию), я нахожусь в тупике.Надеюсь, кто-то может указать мне правильное направление.

1 Ответ

0 голосов
/ 02 февраля 2019

Функция для указания каталога установки: package_directory/1.Чтобы использовать это вместе с pack_install/2, мне нужно было заключить его в скобки.Поэтому запрос на установку пакета sldnfdraw в каталог $PREF_DIR выглядит как

pack_install(sldfndraw, [package_directory($PREF_DIR)]).
...