首页 文章

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

提问于
浏览
8

我有这个代码:

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

1 回答

  • 10

    它什么都不做;正如你已经想到的那样,它在这里被用来构造对 .

    由于 / 不会出现在 is 的右侧或执行算术评估的另一个地方,因此Prolog只生成两个参数项,其中 / 作为仿函数 . / 被使用,因为它可以写成中缀; - 也是通用对构造函数的流行选择 .

相关问题