Prolog中的返回值

Prolog中的返回值,prolog,Prolog,我发现Prolog中的一些“函数”返回一些值,比如min/2和max/2等,尽管绝大多数函数只返回true或false。这些函数的调用或分组是否与布尔函数不同?此外,除了查看每个函数的文档外,如何识别它们是否返回值。我能在某个地方找到一个返回值的函数列表吗 诸如min、max、log等操作是特定的,与标准谓词不同。使用is/2、=:=/2等对它们进行评估。标准谓词不返回值,甚至不返回true或false。他们成功或失败。这与返回值不同。将值作为函数返回意味着您可以在变量中捕获该值,但谓词不会返回

我发现Prolog中的一些“函数”返回一些值,比如min/2和max/2等,尽管绝大多数函数只返回true或false。这些函数的调用或分组是否与布尔函数不同?此外,除了查看每个函数的文档外,如何识别它们是否返回值。我能在某个地方找到一个返回值的函数列表吗

诸如
min
max
log
等操作是特定的,与标准谓词不同。使用
is/2
=:=/2
等对它们进行评估。标准谓词不返回值,甚至不返回true或false。他们成功或失败。这与返回值不同。将值作为函数返回意味着您可以在变量中捕获该值,但谓词不会返回真/假数据。Prolog解释器只显示true或false,让您知道它是否成功。一些口译员可能会分别输出yes或no而不是true或false


为了知道给定的术语是谓词还是函数,上面引用的文档是最好的选择,因为它列出了所有有效的算术函数。这一切都在一个地方,所以没有那么困难。函数只对数字起作用。例如,您还可以使用文档中描述的
当前算术函数(Head)
,来确定Head是否是可计算函数。

谓词不返回任何内容,而是将变量与值统一起来。此外,谓词成功(
true
)或失败(
false
),那么max和min呢?