问题标签 [swi-prolog]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4668 浏览

swi-prolog - 关闭 swi-prolog 中的警告

如何关闭 swi-prolog 中的警告。

很烦人。

0 投票
1 回答
943 浏览

mysql - 在 SWI-Prolog 中刷新数据库缓存

我们swi-prolog用来运行我们的测试用例。每当测试开始时,我都会打开连接MYSQL database并存储测试帽子的名称,然后关闭数据库。这些测试连续运行大约 2 天。测试完成后,结果基本上存储在服务器的文件夹中。在另一个 prolog 文件中有一个谓词,该谓词被调用以将结果更新到 MYSQL 数据库。代码很简单,我使用odbc库,只需调用odbc_*谓词通过发出直接查询来连接和更新 mysql。

实际问题是:

  1. 如果我尝试从刚刚完成测试的同一个 Prolog 窗口调用谓词,则会在更新到数据库服务器时收到错误消息。虽然我在连接中没有收到任何错误。如果我关闭该 prolog 的会话halt并关闭所有打开的 prolog windows ,然后打开另一个完整的 Prolog 新实例并运行谓词更新顺利。

我感觉 Prolog 数据库中有一些对 MySQL DB 的连接引用。有什么方法可以清除 prolog 中的数据库,以便我可以在不关闭任何现有 prolog 窗口的情况下运行相同的谓词?

任何想法表示赞赏。

谢谢。

0 投票
3 回答
2876 浏览

swi-prolog - swi prolog- IDE - Eclipse- 如何在 Linux 中使用它?

我读到 Swi Prolog IDE - Eclipse - 在 Linux(Ubuntu) 中是可能的。但是我无法让安装的 Eclipse '使用' swi Prolog。请帮忙

0 投票
2 回答
34802 浏览

procedure - Prolog:制作打印 Hello World 的程序

我想将这个简单的东西加载到我的编辑器中:

这样它就会打印“hi”。

我该怎么办?

我目前正在尝试做File->New

并将名为 Write 的文件保存到E:\Program Files\pl\xpce\prolog\lib

进行查询时:

?-写。

它正在打印:

为什么?

0 投票
1 回答
441 浏览

visual-studio-2008 - plld Prolog C++

我有一个带有很多谓词的大型 Prolog 程序。我需要从 C++ (VS2008) 连接到这个 Prolog 代码以获得某些查询结果。所以我不是试图将 Prolog 作为一个逻辑引擎嵌入到 C++ 中,而是让我的 C++ 程序连接到我的 Prolog 代码,查阅(编译)它,获取查询结果,并将它们传递回 C++。

在 VS2008 命令提示符下运行以下命令会产生很多错误:

有什么方法可以让我的 C++ 程序通过包含命令或 makefile 等来咨询我的 Prolog 程序......?

我知道如果你使用 VS2008,最好不要使用 plld,所以我试图将所有内容包含在一个主 C++ 程序中,然后按 F5 构建和编译,然后调用 Prolog,然后调用 C++,等等。 ..

干杯,

0 投票
2 回答
1635 浏览

visual-studio-2008 - Prolog 和 C++ 中的阶乘

我想计算一个数字的阶乘。我的阶乘规则在 Prolog 文件中,我将它连接到 C++ 文件。有人可以告诉我将 C++ 连接到 Prolog 有什么问题吗?

我得到 Prolog 提示,这是最后一行的作用。但是我没有得到阶乘计算的结果,例如:

我错过了什么?

谢谢,

0 投票
1 回答
163 浏览

visual-studio-2008 - XPCE Prolog 命令在 VS2008 C++ 中导致错误

在将包含命令“发送”(xpce 图形)的 Prolog 程序加载到 C++ 程序中时,我收到以下类型的错误消息:

这是导致错误的示例命令:

当我使用 plld.exe 实用程序连接我的 C++ 和 Prolog 程序时,我曾经遇到过同样的错误。当时,我认为问题在于 plld 出于某种原因与 xpce 图形不兼容。

但是现在我使用以下方法将我的 Prolog 源文件咨询(加载)到我的 C++ 文件中:

我仍然收到这些错误消息。我可以注释掉包含 xpce 特定命令的行,但我更想知道问题出在哪里以及如何绕过它。因此,我将不胜感激。

干杯,

0 投票
1 回答
471 浏览

visual-studio-2008 - 回溯问题

假设我有以下 Prolog 知识库:

如果我编写以下 C 代码:

它只会调用谓词“likes”一次,从而只产生“mary”。如何让它回溯并生成和打印所有结果?

谢谢,

0 投票
1 回答
490 浏览

visual-studio-2008 - argv 内存分配

我想知道是否有人可以告诉我我做错了什么,我收到了这个未处理的异常错误消息:

用绿色指针指向我的第一个 Prolog 代码(fid_t):

这是我的头文件:

这是我的主要代码:

谢谢,

0 投票
1 回答
1228 浏览

logic - Prolog - 查找当前目录,'tell'谓词的相对目录

我在试图弄清楚如何让 prolog 在我想要的地方吐出一个文本文件时遇到了麻烦。我目前正在做一堆操作,然后使用

记录输出。现在的问题是,当我这样做时,它会在 SWI \bin\ 文件夹中创建这个文件。我想知道是否有办法让它在包含实际 .pl 文件的目录中创建这个文件。因此,即使文件被移动(并且会移动),文本文件也会在源文件所在的位置创建。

长话短说,一旦查阅了源文件,有没有办法获取源文件的位置?

非常感谢!