在 prolog 中,或者至少在 SWI-Prolog 中,您可以加载文件类型
[filename].
或者
['filename.ext'].
或者
[path/to/file].
或者
['path/to/file.ext'].
但是,我想预处理要加载的文件,因此我需要将上述单例列表的内容作为兼容的文件路径,将其用作open/3
. 目前有效的方法:
- 从 REPL 捕获查询的钩子使用
expand_query/4
- 匹配单例列表表达式并将一个元素绑定到变量
什么不起作用:
- 使用 in »2.« 中提到的变量作为
+SrcDest
foropen/3
。
那么如何将准路径处理为真实路径,以使上述 4 种加载模块的方法中的任何一种都有效?