【发布时间】:2015-05-08 05:52:26
【问题描述】:
我是 prolog 的新手并试图理解这个 prolog 代码。
next_truth_value([0|R],[1|R]).
next_truth_value([1|R],[0|S]) :- next_truth_value(R,S).
通过我的研究,我发现谓词包含两个列表。 如果我查询这个,我会得到这样的答案......
?- next_truth_value([0,0], NEXT).
NEXT = [1,0]
请有人解释一下这段代码,我完全无法理解它的真正含义。谢谢。
【问题讨论】:
-
那么你在哪里找到这个?它真正应该做什么?一定有比你给我们更多的上下文......(为了理解到底发生了什么,你可以尝试在顶层跟踪:
?- trace.,尽管许多人考虑跟踪 Prolog 程序软弱的迹象)。 -
首先感谢您的回复。它产生下一个真值。假设我们给出了 (0,0),它将生成下一个真值作为 (1,0)...这是完整的代码...sourceforge.net/p/prologassignmentnsbmcolombo/code/ci/master/…
-
那么剩下的代码你看懂了吗?谁写的?你不能问他们吗?
标签: prolog