2012-04-11 63 views
8

我有这样的代码:在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]). 

但我想不出是什么/做。它看起来像变量,但我不是100%确定。它绝对不是划分运营商。谢谢。

回答

10

它不是什么;它在这里用来构造成对,就像你已经想到的那样。

由于/上的is右手侧或在执行算术评价另一个地方不发生,Prolog的只是产生具有/作为算符两个参数的条件。使用/是因为它可以写成中缀; -也是通用对构造函数的流行选择。