1

我从未使用过 SWI Prolog 或 AIlog,但我认为语法是相同的(可能是错误的)。

将数字与存储的变量进行比较时遇到问题,例如:“ is 10 < age_limit?”。当我收到错误消息时:"Error in built-in predicate 10 < age_limit."

代码如下:

...

% data values
age_limit(18).

% 3 AGE CLASSIFICATION 1
patient_child <-
            age = X & X < age_limit.


% 4 AGE CLASSIFICATION 2
patient_adult <-
            age = X & X >= age_limit.


askable age = X.

我不知道我做错了什么,也无法在手册中找到它。

请建议我正确的语法。非常感谢!

4

2 回答 2

0

在 Prolog 我们会写

patient_child <-
            age = X, age_limit(Y), X < Y.

(由于 Prolog 没有askable,我假设age = X部分是正确的)。

于 2012-10-29T06:15:28.417 回答
0

最后我让它工作了。与“Alexey Romanov”的建议类似,代码将是:

patient_child <- age = X & age_limit(AL) & X < AL.
于 2012-10-29T16:50:38.850 回答