是什么斜杠(/)在序言吗?(what does slash(/) do in prolog?)

2019-09-16 11:20发布

我有这样的代码:

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

Answer 1:

它不会任何事情; 它在这里用来构建对,因为你已经想通。

由于/不上的右手侧发生is其中执行算术评估或在另一个地方,Prolog中刚刚产生两个参数方面与/作为仿函数。 /被使用,因为它可以被写入缀; -也是一个通用的对构造的热门选择。



文章来源: what does slash(/) do in prolog?