如何在SWI-Prolog中更改软件包目录

时间:2019-02-01 20:50:42

标签: prolog swi-prolog

我正在尝试在SWI-Prolog中安装软件包(sldnfdraw),但找不到指定安装目录(即我希望将其安装在何处)的方法。

documentation似乎表明可以选择软件包目录,但是我没有运气。诚然,我对Prolog并不陌生,可能忽略了一些显而易见的事情。尽管如此,我在所有常见的地方(堆栈溢出,文档)都没有运气就寻找答案。

我试图通过调用sldnfdraw来安装软件包pack_install(sldnfdraw).,这将在$HOME/lib/swipl/pack上创建一个目录。然后,我尝试了pack_install(sldnfdraw, $PREF_DIR).的各种形式,其中$PREF_DIR是我想要安装软件包的目录的绝对路径。该文档引用了将选项传递给函数的某种方式,但未指定这样做的方法。鉴于Prolog上可用的资源有限(以及此特定实现),我发现自己陷入了死胡同。希望有人可以指出正确的方向。

1 个答案:

答案 0 :(得分:1)

用于指定安装目录的功能是package_directory/1。为了与pack_install/2结合使用,我需要将其括在方括号中。因此,将软件包sldnfdraw安装到目录$PREF_DIR的查询看起来像

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