在prolog中键入整数的转换

时间:2014-08-22 12:45:15

标签: prolog

我想将负整数值转换为正值。

例如: - 输入-10,输出10

如何在Prolog中进行此转换,是否可以这样做?

1 个答案:

答案 0 :(得分:1)

正如@false指出的那样,Prolog(或多或少)是无类型的。

为了以数学方式解释仿函数,可以使用is运算符。

此类运算符解析语法树,如:

+(*(5,2),7)

将解析为5*2+7 17

+这里没有对添加的真正约束,它只是一个包含两个其他术语的仿函数。只有is运算符会将其“解释”为添加。

简短回答:

minus(X,Y) :-
    Y is -X.

is运算符不是双向的。因此minus(X,-5)将无法解决。仅minus(-5,X)