2017-03-20 92 views
0

寫入內置序言謂詞,例如:aggregate_all/3findall/3aggregate/4等等。 aggregate/3aggregate/4有什麼不同?爲什麼使用斜線(/)

+4

斜槓表示「arity」(表示參數的數量)。它有所不同,因爲一個謂詞,但名稱相同,但不同的arity本質上是一個不同的謂詞。所以,例如,有兩個版本的聚集謂詞。一個是'aggregate/3',它接受3個參數,另一個是'aggregate/4',它接受4個參數。 – lurker

回答

1

斜槓(/)符號不使用僅在建於謂詞但在所有謂詞螞蟻它指出的參數的謂詞例如aggregate/3的是帶有三個參數的謂詞的數目(元數),而aggregate/4是具有謂詞4個參數。

2

數是謂詞的所謂元數並指示參數的謂詞的數量。

,因爲經常有共享相同的名稱謂詞的幾個變種,但在他們的參數的數目不同,這非常有用。

例子:findall/3findall/4append/3append/2

也經常看到的符號(Pred)/2。例如:(#=)/2。這是因爲#=(例如)也是一箇中綴運算符,和括號轉(#=)/2成有效的Prolog項。

相關問題