问题标签 [gnu-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 投票
1 回答
179 浏览

prolog - 整数平方根在 SWI-Prolog 和 YAP 中有效,但在 GNU-Prolog 中无效

我通过将以下代码添加到 swipl、gprolog 和 yap 中的用户文件中来测试以下代码:

这在 swipl 和 yap 中按预期工作,但在 gprolog 中我收到以下 N > 1 的错误消息:

这对我来说很奇怪,因为我的代码中的谓词都不依赖isqrt/0. 这可能是 GNU-Prolog 中的错误吗?作为一种解决方法,我能做些什么?


编辑:这正是我在 ubuntu 上的 gprolog 中产生此错误的方法:

0 投票
1 回答
1261 浏览

prolog - 未捕获的异常:error(existence_error(procedure,likes/0),friend/0)(七种语言)

目前正在阅读七周内的七种语言一书,并坚持让第一个 prolog 示例运行。这涉及与此问题相同的代码段;但是我相信我的问题完全不同。

我已经在书中定义了likes和;friend我的朋友们.pl:

我正在使用 gnu prolog(v1.4.5,在 Ubuntu 18.10 上),我可以通过| ?- [friends.pl]| ?- ['friends.pl']调用带有--consult-file参数的 gprolog 来加载 friends.pl 咨询文件:gprolog --consult-file friends.pl就好了

询问likes事实或规则的第一部分friend就可以了:

但是,当我尝试一个涉及规则第二部分的查询时,我得到了这个:

当我阅读错误消息时,它告诉我没有过程“喜欢”它需要 0 个参数,对吗?但是在我的规则中哪里引用了这样一个 0 参数过程?我在这里做错了什么?不敢相信这是我序言中的错误;)?

0 投票
1 回答
563 浏览

prolog - 如何将数字列表转换为 Prolog 中的单词列表?

我正在尝试编写一个 Prolog 程序,以便给定一个数字列表[1, 2, 3],它将它们转换为代表这些数字的单词列表['one', 'two', 'three']

到目前为止我的代码:

当我加载gprolog并查阅文件时,如果我这样做:

我正确地得到:

但是当我这样做时

我得到:

我对 Prolog 很陌生(这是我的第一个 Prolog 程序),我不知道这里出了什么问题。有任何想法吗?谢谢。

0 投票
2 回答
314 浏览

module - 无法在 GNU prolog 中加载 library(readutil) 模块?

我正在尝试导入library(readutil)模块以从我的文件中读取一行。但是,当我尝试以下操作时:

我得到错误:

如何正确导入该模块?模块描述在这里:http ://www.swi-prolog.org/pldoc/man?section=readutil

0 投票
2 回答
205 浏览

prolog - 如何迭代地使用 read_line_to_codes 和 atom_codes 来生成行数组作为我的 .txt 文件的字符串?

我正在尝试使用read_line_to_codes(Stream,Result)and atom_codes(String,Result)。这两个谓词首先从文件中读取行作为字符代码数组,然后将该数组转换回字符串。然后我想将所有这些字符串输入到字符串数组中。

我尝试了递归方法,但是对于如何在开始时实际将数组实例化为空以及process_the_stream/2.

我希望使用递归方法将行数组作为字符串。

0 投票
2 回答
118 浏览

prolog - 逻辑任务中的互斥

有三个朋友 - misha、petya、vova。姓氏:伊万诺夫、谢苗诺夫、格拉西莫夫。

米莎不是格拉西莫夫。

vova 正在学习 6 年级。格拉西莫夫排在第五位。如何定义 vova 的姓氏(几个)?

vova 的父亲是工程师,ivanov 的父亲是锁匠。

vova的姓(一)怎么定义?

0 投票
1 回答
67 浏览

prolog - 有没有办法解决这个错误?架构 x86_64 的未定义符号:(gnu-prolog)

我的程序在 swi prolog 上运行良好,但是当我尝试使用 gnu-prolog 运行它时。它没有成功运行。我收到这个错误,我不知道如何解决。

这是我的第一个错误

gprolog [我的项目名称]

我在一行中运行它没有用

我试图在终端 gplc [myprojectname] 上以不同的方式运行它

gplc [我的项目名称]

ld:未找到架构 x86_64 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)编译失败

0 投票
1 回答
739 浏览

visual-studio-code - 如何在 VSC 上运行 GNU-Prolog?

我是使用 VSCode 的新手,而且我正在学习 Prolog,所以我想知道如何从编辑器中运行它。

我在 Windows 上,我已经激活了环境变量LINEDIT=gui=no ,所以当我调用C:\GNU-Prolog\bin\gprolog.exe它时,它会在 shell 上运行。

要打开一个文件,您必须在 prolog 终端中运行: changedirectory(DirectoryPathName).进入文件目录并 [file]打开它。

我不知道如何将其转换为 VSC 设置,以便我可以使用它来运行 Prolog。

任何帮助表示赞赏!

0 投票
1 回答
122 浏览

prolog - GNU Prolog 简单程序无法按预期工作

编辑:我刚刚gprolog从源代码编译。

它工作正常。Debian repo 中的 1.4.5 版本存在漏洞。

这是我在 GNU Prolog (gprolog) 中的第一个程序,但没有成功。:-(

我在 Prolog 教程中找到了这些练习。

预期的答案是:

源代码的第一行是:

调用是:

0 投票
0 回答
198 浏览

gnu-prolog - 如何在 mac 上将文件加载到 GNU Prolog 中?

我查看了其他问题,但没有找到有关如何执行此操作的答案,但是如何在 mac 上使用 GNU prolog 定位 .pl 文件?

当我启动它时,我尝试使用以下命令使用文件路径加载文件:

但它返回这个

我 100% 确定文件路径是正确的,所以我不能 100% 确定哪里出错了。这是我所看到的。我有一条红线来审查我的全名

在此处输入图像描述