为什么atan2(1,3).会产生false
我希望它返回一个以弧度表示的角度,如下所示:http://www.swi-prolog.org/man/arith.html
发布于 2013-04-16 11:18:30
因为您有一个事实数据库查询,而您想要的是数学计算。比较一下:
?- 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、无限循环或其他错误。
https://stackoverflow.com/questions/16027344
复制相似问题