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

pet*_*234 8 operators prolog

我有这个代码:

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]).
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚做什么/做什么.看起来它配对变量,但我不是100%肯定.它绝对不是除法运算符.谢谢.

Fre*_*Foo 10

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

由于/不会发生在is执行算术评估的右侧或其他地方,Prolog只会生成两个参数项/作为仿函数./是因为它可以写成中缀; -也是泛型对构造函数的流行选择.