为什么内置的prolog谓词是用斜杠写的(/)

时间:2017-03-20 18:13:00

标签: prolog predicate

例如:aggregate_all/3findall/3aggregate/4等等。 aggregate/3aggregate/4之间有什么区别。

2 个答案:

答案 0 :(得分:2)

该数字是谓词的所谓 arity ,表示谓词的参数的数量。

这很有用,因为通常有几种谓词变体具有相同的名称,但它们的参数数量不同。

示例:findall/3findall/4append/3append/2等。

您还经常看到符号(Pred)/2。示例:(#=)/2。这是因为#=(例如)也是中缀运算符,括号将(#=)/2转换为有效的Prolog术语。

答案 1 :(得分:1)

斜杠(/)符号不仅用于内置谓词,而是用于所有谓词中,它表示谓词的参数数量( arity),例如aggregate/3是一个带有3个参数的谓词,而aggregate/4是一个带有4个参数的谓词。