PROLOG中的条件子句不起作用

时间:2016-11-09 14:19:03

标签: list prolog

我为条件语句创建了一个子句但是当我使用trace命令删除程序时会出现失败消息:

fail message

我想检查一下子列表是否在我的列表中,如果是,我将增加我的计数器以消除之后发生的减量,否则,我将在我的列表中添加子列表。

我的代码:

mysqli_result

这是我在Prolog中的第一个代码,所以如果这是一个非常愚蠢的错误,我很抱歉。

1 个答案:

答案 0 :(得分:0)

至少,您可以尝试更正这样的if/3

if(Condition, Then, _Else) :- Condition, !, Then.
if(_, _, Else) :- Else.

根据这个定义,我得到:

?- if(between(1,3,2), format("foo\n"), format("bar\n")).
foo
true.

?- if(between(1,3,4), format("foo\n"), format("bar\n")).
bar
true.

repeat但是后面的代码完全不合适,应该删除。还有太多其他问题(如评论中所述),我很难理解你想要做什么。