Perché questo non funziona L is [1,2,3,4]
e questo funziona: L = [1,2,3]
?Prolog è vs = con liste
Ma L is 1
e L = 1
funzionano entrambi allo stesso modo.
Perché questo non funziona L is [1,2,3,4]
e questo funziona: L = [1,2,3]
?Prolog è vs = con liste
Ma L is 1
e L = 1
funzionano entrambi allo stesso modo.
is
deve essere utilizzato solo quando si valutano operazioni aritmetiche sul lato destro. cioè .:
X is 1 + 2 + 3
is/2
valuta la struttura di destra come espressione aritmetica. Se non è un'espressione aritmetica valida o un numero, is/2
non riesce. Altrimenti, il numero al quale l'espressione aritmetica viene valutata viene unificato con il valore [presumibilmente] non associato a sinistra.