我有这个代码:
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%肯定.它绝对不是除法运算符.谢谢.
Fre*_*Foo 10
它没有做任何事情; 正如你已经想到的那样,它在这里被用来构造对.
由于/不会发生在is执行算术评估的右侧或其他地方,Prolog只会生成两个参数项/作为仿函数./是因为它可以写成中缀; -也是泛型对构造函数的流行选择.