斜杠(/)在prolog中做什么?

时间:2012-04-11 18:15:29

标签: prolog operators

我有这段代码:

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%肯定。它绝对不是除法运算符。感谢。

1 个答案:

答案 0 :(得分:10)

它不会任何事情;正如你已经想到的那样,它在这里被用来构造对。

由于/未发生在is的右侧或执行算术评估的其他地方,因此Prolog只生成带有/的双参数项算子。使用/因为它可以写成中缀; -也是通用对构造函数的流行选择。