我有这个代码:
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% 确定。它绝对不是除法运算符。谢谢。
最佳答案
它什么都不做;正如您已经想到的那样,它在这里用于构建对。
自 /
不会出现在 is
的右侧或者在另一个执行算术评估的地方,Prolog 只生成带有 /
的双参数项。作为仿函数。 /
使用是因为它可以写成中缀; -
也是泛型对构造函数的流行选择。
关于prolog - 斜线(/)在序言中做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10111625/