2013-10-27 23 views
3

我正在使用pi作为我正在编写的Prolog程序的一部分。这里是整个程序我的pi,只有提起:为什么我在Prolog中得到一个pi类型的错误?

ArcDistance is ((Degree/ 360) * Diameter * pi). 

然而,当我运行程序时,我得到以下错误:

uncaught exception: error(type_error(evaluable,pi/0),(is)/2) 

难道我做错什么在呼唤方面/使用pi?谢谢您的帮助!

回答

3

在ISO-Prolog中,也就是自Cor.2:2012起,原子pi被定义为通常的意义。

鉴于您显示的系统的响应,您似乎使用的是GNU-Prolog的旧版本,如1.3。但是,它至少在1.4.0开始的版本中定义。

pi目前在IF,B,YAP GNU,SWI和大概很多其他系统中定义。

+0

还在(最新版本)CxProlog,ECLiPSe,Qu-Prolog和XSB中定义。我想也是SICstus Prolog,但是我的副本最近过期了,我无法确认。 –

+0

@PauloMoura:SICStus尚未:http://sicstus.sics.se/comingfeatures.html – false

+0

谢谢@false。起初,我不确定它是在我的GNU Prolog 1.4中定义的,但是我遇到了一个小小的操作错误。 – lurker

相关问题