1
最近我开始学习逻辑编程和使用Prolog,并且几天前我发现条件语句也可以在Prolog中使用。
我想知道,如果我有一个谓语必须在这两种情况下被调用,是正确的这样写代码:以这种方式在Prolog中使用'if'是否正确?
process(args) :-
(condition -> process_args1; process_args2),
predicateCalledAnyway.
与其说这是在两种情况下,像这样的:
process(args) :-
(condition -> process_args1, predicateCalledAnyway; process_args2, predicateCalledAnyway).
有什么区别吗?如果是,那么为什么?对我来说,在两种情况下,代码似乎都会产生相同的结果。