【发布时间】:2017-03-15 19:54:24
【问题描述】:
最近开始学习逻辑编程和使用Prolog,前几天发现在Prolog中也可以使用条件语句。
我想知道,如果我有一个必须调用的谓词两种情况,这样写代码是否正确:
process(args) :-
(condition -> process_args1; process_args2),
predicateCalledAnyway.
而不是在这两种情况下都调用它,像这样:
process(args) :-
(condition -> process_args1, predicateCalledAnyway; process_args2, predicateCalledAnyway).
有什么不同吗?如果是,是什么以及为什么?对我来说,代码似乎在两种情况下都会产生相同的结果。
【问题讨论】:
标签: if-statement prolog conditional