Prolog变量

时间:2014-05-18 11:40:20

标签: prolog prolog-toplevel

当我们谈论匿名变量时,我遇到了一个小问题。例如,当我们这样做时:

?- [_,2]=[X|Y].
Y=[2].

但我的问题是关于变量X.它是否有'_'?

1 个答案:

答案 0 :(得分:2)

不,X没有“_”。它绑定到一个匿名变量,它永远不会绑定到任何其他变量。 X与匿名变量的绑定不会对X产生任何其他限制 - 出于所有实际目的,它仍然是未绑定的。

引入_变量是为了让Prolog编码员在代码中表达他们不关心特定位置的值。可以通过使用看起来像UNUSED1UNUSED2UNUSED3等等而不是_的变量来模拟此行为,并忽略有关单例变量的Prolog警告:

[UNUSED123,2]=[X|Y].

使用下划线_就像告诉Prolog你知道未使用的变量是单例,而且确实是你的意图。