为什么要使用atan2(1,3). 产生false

我期望它返回弧度角,如下所示: http : //www.swi-prolog.org/man/arith.html

===============>>#1 票数:1 已采纳

因为您拥有的是事实数据库查询,所以当您需要的是数学评估时。 比较一下:

?- 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)没有变量的语句只能使您知道truefalse ,无限循环或另一个错误。

  ask by Drew translate from so

未解决问题?本站智能推荐: