当我查询max时,我收到以下错误
?-max(2,3).
ERROR: toplevel: Undefined procedure: max/2 (DWIM could not correct goal)
据我所知,max是一个库定义的谓词,应该按原样运行。 我引用了http://www.swi-prolog.org/pldoc/man?section=arith,我发现查询没有错。同样min(2,3)。也不会工作。
虽然其他功能,如成员,长度工作正常。 可能有什么不对?
答案 0 :(得分:1)
那些不是谓词,它们是需要如此评估的算术函数。例如,您可以使用is/2
:
?- A is max(2, 3), B is min(2, 3).
A = 3,
B = 2.
或采用算术表达式的任何其他谓词/运算符:
?- min(2, 3) > max(1, 0).
true.