问题标签 [iso-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 投票
10 回答
225422 浏览

prolog - 序言中的“如果”?

有没有办法在 prolog 中执行 if,例如,如果变量为 0,则执行一些操作(将文本写入终端)。甚至不需要 else,但我找不到任何有关 if 的文档。

0 投票
3 回答
5425 浏览

prolog - [a|b|c] 在 SWI-Prolog 中的评估结果是什么?

prolog 中的管道运算符返回一个或多个原子 Heads 和一个 Tail 列表。

在单个匹配中嵌套多个管道可以类似于以下方式完成:

该陈述[a|b|c]对 a、b 和 c 的推断是什么?

编辑

到目前为止,我能推断的只有:

我对找到答案的任何技术更感兴趣,而不是回答这个边缘无用的问题。

EDIT2
我显然对序言不太熟悉,一个简单的任务回答了我的问题......

到底是怎么回事(b'|'c)

0 投票
2 回答
1027 浏览

prolog - 为什么 SWI-Prolog 将带引号和不带引号的字符串(不带空格)统一到同一规则?

假设我有以下规则:

然后我按如下方式运行它:

为什么 SWI-Prolog 统一test'test'unify('test', 'this is a test').?我在回答关于 SO 的 Prolog 问题时遇到了这个问题。虽然我能够回答这个人的问题,但我无法解释这种特殊行为,我想知道其他人是否可以。

0 投票
2 回答
1645 浏览

prolog - 为什么 gnu prolog 不支持“假”谓词?(我已更改为 swi)

我一直在使用 gprolog thingy 在 prolog 中做一些事情。但是现在在测试更多代码时,我发现它不支持“false”。swi支持哪个?

0 投票
1 回答
989 浏览

prolog - prolog atom concat swi 和 yap prolog

输入 :

代码:

在 swi prolog 我得到了正确的答案:

yap prolog 失败。看到我应该使用 yap。

我必须用什么代替concat(abs_,L,Fct_A)?我尝试了atom_codes,但它在原子末尾附加了奇怪的ascii。请帮忙 。

0 投票
4 回答
9353 浏览

list - 获取列表的最小值

我试图找到一个列表的最小值(作为学习经验,所以没有min)。

我的方法如下:

这给了我以下错误:

语法错误:应为运算符

所以我的问题是:

  • 是什么导致语法错误?
  • 如果它确实返回了正确的值,我会在修复后自己尝试,但这实际上是一种正确的方法吗?

提前致谢。

0 投票
1 回答
974 浏览

prolog - 在列表中或列表之外使用序言对有什么用

我在 SWI-PL 文档中多次遇到键值对,但无法获得有关它们的好信息。这是 prolog 中的标准还是只是一个 swi pl 扩展?主要在这里找到:http ://www.swi-prolog.org/pldoc/doc_for?object=keysort/2 和这里:http://www.swi-prolog.org/pldoc/doc_for?object=section%282, %27A.3%27,swi%28%27/doc/Manual/assoc.html%27%29%29

例如,对的形式是 a-5,或者在列表中 [a-5, b-7]。

如果它是标准的,使用这些是否有任何附加价值?他们的兴趣是什么?提前致谢 :)

0 投票
2 回答
7419 浏览

prolog - Prolog中的'和'有什么区别?

我是 Prolog 的新手,注意到 ' 和 " 给出不同的行为,但很好奇为什么。具体来说,在加载文件时,?- ['test1.pl'].有效,而?- ["test1.pl"].无效。

0 投票
3 回答
831 浏览

prolog - Prolog 中的 +,+ 模式是什么意思?

所以有人告诉我一个特定的谓词必须在 +,+ 模式下工作。这在 Prolog 中是什么意思?

0 投票
3 回答
342 浏览

parsing - 从字符解析为数字 Prolog

我有以下内容:

当我这样称呼它时:is_digit(X)。

我得到以下结果:

我需要得到相同的结果,但没有引号。对不起,如果这是一个简单的问题,但我一直无法找到解决这个问题的方法。谢谢!