Atan2和Prolog
为什么Atan2和Prolog,prolog,Prolog,为什么atan2(1,3)。产生false 我希望它返回一个弧度的角度,如下所述:因为这里有一个事实数据库查询,而您需要的是数学计算。比较一下: ?- atan2(1,3). ERROR: toplevel: Undefined procedure: atan2/2 (DWIM could not correct goal) 为此: ?- X is atan2(1,3). X = 0.3217505543966422. 后一种形式需要使用is/2来触发数学计算 更一般地说,在数学上下文之外,
atan2(1,3)。
产生false
我希望它返回一个弧度的角度,如下所述:因为这里有一个事实数据库查询,而您需要的是数学计算。比较一下:
?- atan2(1,3).
ERROR: toplevel: Undefined procedure: atan2/2 (DWIM could not correct goal)
为此:
?- X is atan2(1,3).
X = 0.3217505543966422.
后一种形式需要使用is/2
来触发数学计算
更一般地说,在数学上下文之外,Prolog函数不“返回”,它们统一参数,因此没有变量的语句(如atan2(1,3)
)只会将您的true
、false
、无限循环或其他错误清除