我正在尝试在SWI-Prolog中安装软件包(sldnfdraw),但找不到指定安装目录(即我希望将其安装在何处)的方法。
documentation似乎表明可以选择软件包目录,但是我没有运气。诚然,我对Prolog并不陌生,可能忽略了一些显而易见的事情。尽管如此,我在所有常见的地方(堆栈溢出,文档)都没有运气就寻找答案。
我试图通过调用sldnfdraw
来安装软件包pack_install(sldnfdraw).
,这将在$HOME/lib/swipl/pack
上创建一个目录。然后,我尝试了pack_install(sldnfdraw, $PREF_DIR).
的各种形式,其中$PREF_DIR
是我想要安装软件包的目录的绝对路径。该文档引用了将选项传递给函数的某种方式,但未指定这样做的方法。鉴于Prolog上可用的资源有限(以及此特定实现),我发现自己陷入了死胡同。希望有人可以指出正确的方向。
答案 0 :(得分:1)
用于指定安装目录的功能是package_directory/1
。为了与pack_install/2
结合使用,我需要将其括在方括号中。因此,将软件包sldnfdraw
安装到目录$PREF_DIR
的查询看起来像
pack_install(sldfndraw, [package_directory($PREF_DIR)]).