Prolog是vs = with lists

时间:2009-10-06 12:23:26

标签: prolog resolution unification

为什么这会失败L is [1,2,3,4],这有效:L = [1,2,3]

但是L is 1L = 1都是一样的。

1 个答案:

答案 0 :(得分:26)

仅在评估右侧的算术运算时才应使用

is。 即:

X is 1 + 2 + 3

is/2将右手结构评估为算术表达式。如果它不是有效的算术表达式或数字,is/2将失败。否则,算术表达式评估的数字与[推测]未绑定的左手值统一。