2013-10-27 34 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

相關問題