說我有一個事實,比如極品信息:Prolog的 - 事實
bigger(cat,mouse).
如果我想描述這個的人,我會糾正說:「貓是這一事實和鼠標中的第一項是第二個術語「還是我會將貓和老鼠稱爲原子,並且說」貓是事實中的第一個原子,而老鼠是第二個原子「。
說我有一個事實,比如極品信息:Prolog的 - 事實
bigger(cat,mouse).
如果我想描述這個的人,我會糾正說:「貓是這一事實和鼠標中的第一項是第二個術語「還是我會將貓和老鼠稱爲原子,並且說」貓是事實中的第一個原子,而老鼠是第二個原子「。
你的第一描述是公平的,被「術語」的遞歸數據結構:即,術語或者是一個原子,一個數字,或一個結構,其中一個struct是'name(arg1,arg2,...)',每個參數都是一個術語。
所以你的第二個描述更準確(限制)。
正如其他答案指出的那樣,「論證」是結構化術語中位置識別屬性的通常命名。
參數將是我認爲的完美單詞。但通常形容一個謂語,你會使用以下形式:
predicate/arity : predicate(arguments...)
description of arguments
這會去是這樣的:
bigger/2 : bigger(Bigger, Lesser)
Holds if Bigger is bigger than Lesser.
此外你可以精確的參數的模式:+輸入, - 輸出,? (而@爲純輸入),請參閱@ false在this question上的答案以獲得更多關於模式的信息(如果需要的話)。
在這裏,完整的版本可以是:
bigger/2 : bigger(?Bigger, ?Lesser)
Holds if Bigger is bigger than Lesser.
要混爲一談了一下,我可能會說bigger
是cat
和mouse
之間保持一個二進制的關係。