在Prolog中你可以写一个基本事实:
lost(jen).
您还可以将非基本事实写为:
lost(X).
这有什么意义吗?你能告诉我一个实际的/真实的例子吗?
谢谢,
答案 0 :(得分:3)
另一个避免列表的情况是大多数情况都是“真实的”,你只想排除一些错误的案例。因此,你故意使案件失败,然后让其他一切都通过。
然后你可以做,说...
inhabited(antarctica) :- !, fail.
% all the other continents are inhabited
inhabited(_).
答案 1 :(得分:2)
嗯,除了原子之外,你还可以拥有其他事实,例如你可以有列表。完成后,您可能想了解一个单元素列表,并且可以
oneelement([X]).
同样,假设您要比较列表中的最后一个元素
lastelement([X],X).
lastelement([_|Remainder],X) :- lastelement(Remainder,X).
非常有用的member
谓词定义为
member([X|_],X).
member([_|Remainder],X) :- member(Remainder,X).
每个都使用非基础事实作为基本案例,通过匹配比lost(X)
更具体的特殊形式