假设我想编写一个比较两个值的谓词(当然是不必要的,但它是一个示例),并将结果作为可以引用的变量返回,如下所示:
compare(Value1, Value2, Result) :-
Result is Value1 > Value2.
但是在Swish中我得到一个错误:
src:2: Syntax error: Operator priority clash
compare/3: Domain error: `order' expected, found `'5''
在我拥有 之后Result
,我将如何在另一个谓词中使用它的值?能不能说:
compare(5, 2, Result),
Result.
还是我完全误解了 Prolog 的哲学?