打印IF条件列表

时间:2012-03-06 15:52:18

标签: prolog

我有许多像这样的Prolog条件:

if has(X,Y)
     then need(X,Z).

有没有办法可以编写命令来列出所有这些?

提前致谢。

2 个答案:

答案 0 :(得分:2)

这甚至不接近有效的prolog语法。这是一个great website,您可以用它来学习Prolog的基础知识。

您可以通过Google搜索找到许多其他在线资源(免费电子书,示例代码等)。另外,我强烈推荐使用 William F. Clocksin 这本名为 Programming in Prolog 的书。

答案 1 :(得分:0)

这是原始提问者的意思吗?

has(student, ambiguousquestion).

need(student, studymore).
need(student, doresearch).
need(student, reprasequestion).
need(student, helpustohelpyou).

?- has(X,Y), findall(Z, need(X,Z), Res), write(Res).
[studymore,doresearch,reprasequestion,helpustohelpyou]
X = student,
Y = ambiguousquestion,
Res = [studymore, doresearch, reprasequestion, helpustohelpyou].