Почему я получаю ошибку типа на пи в Прологе?

Я использую pi как часть программы Пролог, которую я пишу. Вот мое единственное упоминание о pi во всей программе:

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

Однако, когда я запускаю программу, я получаю следующую ошибку:

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

Я делаю что-то не так с точки зрения вызова / использования pi? Спасибо за помощь!

1 ответ

В ISO-Prolog, то есть, начиная с Cor.2:2012, атом pi определяется с обычным значением.

Учитывая реакцию системы, которую вы показали, вы, похоже, используете более старую версию GNU-Prolog, такую ​​как 1.3. Однако это определено в версиях, начинающихся как минимум с 1.4.0.

pi в настоящее время определяется в IF, B, YAP GNU, SWI и, вероятно, во многих других системах.

Другие вопросы по тегам