7

我有这个代码:

set_value(X,Value,[X/_|T],[X/Value|T]).
set_value(X,Value,[Y/V|T],[Y/V|NewT):- X\=Y,set_value(X,Value,T,NewT).
set_value(X,Value,[],[X/Value]).

但我不知道做什么/做什么。看起来它配对变量,但我不是 100% 确定。它绝对不是除法运算符。谢谢。

4

1 回答 1

10

它什么也没;正如您已经想到的,它在这里用于构造对。

由于/不会出现在执行算术评估的右手边is或其他地方,Prolog 只产生两个参数项/作为函子。/被使用是因为它可以写成中缀;-也是泛型对构造函数的流行选择。

于 2012-04-11T18:16:09.330 回答