2012-10-17 17 views

risposta

13

È il numero di argomenti che la funzione si aspetta nella sua firma. Fai attenzione agli operatori infissi, che possono accettare più argomenti anche se il modo in cui vengono chiamati li pone tra gli argomenti. Cioè, puoi pensare a qualcosa come l'aggiunta ordinaria, +, come operatore binario. Quindi A+B corrisponde esattamente a +(A,B), il che significa che definirai + con +/2.

+4

nota per il poster della domanda: questo è anche a volte indicato come un aritmetico di predicato. –

+0

@ DavorinRuševljan ... Gentilmente dimmi cos'è "Arity"! –

+2

numero di argomenti per predicato. L'ho menzionato poiché molto spesso troverai quel termine mentre leggi di Prolog. –

2

Cito dalla pagina 8 di 'Prolog: The Standard: Manuale di riferimento' (la voce 2^quando I googled 'indicatore di predicato prologo').

indicatore predicato ... E 'un termine terra del modulo Nome/Arity

L'ISO funtore incorporato/3 accede tali dati

?- functor(append(a,b,c),Name,Arity). 
Name = append, 
Arity = 3. 
2

lo SME e Chac spiegato questo numero denota il numero di argomenti. Il motivo per cui si trova questo numero nella documentazione è perché i predicati con lo stesso nome e arità diversa (numero di argomenti) sono predicati diversi.

Così predicato:

my_predicate/3 

è diverso predicato da:

my_predicate/4 

e il numero è incluso per dare chiare indicazioni di cui uno di loro si sta parlando.

Problemi correlati