首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tuProlog -使用多个文件进行查询-不能让引擎加载更多的文件与咨询(otherFile.pl)

tuProlog -使用多个文件进行查询-不能让引擎加载更多的文件与咨询(otherFile.pl)
EN

Stack Overflow用户
提问于 2017-03-28 18:42:22
回答 1查看 107关注 0票数 1

编辑:清晰度-主.pl文件加载,它是所有的子文件,它已被告知加载,但不加载。(所有的咨询(‘subfile.pl’)。)

我有一个使用tuProlog的Java项目。它称一种理论为:

代码语言:javascript
复制
Theory theory = new Theory(":-consult('main.pl').");
        engine.setTheory(theory);

这是根据手册。file.pl与其他prolog文件存在于同一个文件夹中。在main.pl内部,我有更多的

代码语言:javascript
复制
consult('otherfile.pl').

语句来加载其他文件(几个)。

文件夹结构是:

代码语言:javascript
复制
src/main.pl
src/Prolog_Files/otherfile.pl (multiple)
src/main/java/JavaStuff

我无法让引擎加载我告诉它要在主file.pl内部咨询的理论

  • 我已经尝试过:给它绝对的路径,而不是仅仅的文件名。
  • 四处移动文件。

我想知道关于tuProlog的使用是否有什么我不理解的?

当加载以下内容时,该理论起作用:

代码语言:javascript
复制
Theory theory = new Theory(new FileInputStream(url_of_file)).

但是,这会在构建jar时引发问题,因为jar无法找到文件位置。

我是否试图正确加载该文件?我在主.pl文件中的咨询正确吗?

有人可以张贴一个例子,这应该如何做,如果没有?手册对这个问题没有详细说明。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-03-28 22:13:28

手册在各部分中略显过时--它说要使用that /1,而在其他地方则表示that/1是不推荐的,而include/1则是替代的。

其次,当使用2p.jar时,它从项目根读取Prolog文件作为它的根。创建jar时,2p.jar不能在项目jar中。它们应该位于相对文件夹中,2p.jar读取2p.jar位置为root的Prolog文件。它似乎无法在项目jar中读取。

希望这已经足够清楚了!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43077485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档