prolog - 斜线(/)在序言中做什么?

标签 prolog operators

我有这个代码:

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/

相关文章:

prolog - 如何使用 Prolog 实现 [a-z][.?!][ ]+[A-Z] 自动机?

javascript - 这些 JavaScript 按位运算符有什么作用?

objective-c - << objective-c 枚举中的运算符?

list - Prolog:将元素放入列表中以进行十进制到二进制的转换

list - 从等于数字的数字列表中生成所有表达式 [PROLOG]

prolog - 编写一个接受包装常量的函数,但只有一层深

c# - C#中的~是什么?

C# 隐式转换和 == 运算符

swift - 为什么 Nil 合并运算符是 Right Associative?

list - 在SWI prolog中实现nth1列表操作