首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Jess规则中使用整数槽

在Jess规则中使用整数槽
EN

Stack Overflow用户
提问于 2018-04-07 16:34:19
回答 1查看 48关注 0票数 0

我已经编写了以下Jess规则来使用它在一个门徒本体中。

代码语言:javascript
复制
(mapclass Cliente)
(defrule perfil-familia-numerosa

    ?cliente <- (object (is-a Cliente) 
        (nombre ?name) 
        (discapacidad? ?discapacity)
        (distrito_deseado ?desired_district)
        (n_miembros_familia ?n)
        (presupuesto_maximo ?max)
        (presupuesto_minimo ?min))
    (test (> n 4))
    =>
    (assert (perfil-cliente ?name soltero)))

当我尝试在Jess选项卡中输入它时,我会得到一个类型错误Jess reported an error in routine > [...] java.lang.Integer cannot be cast to java.lang.String

然而,问题的插槽是一个整数,所以我不清楚为什么Jess会把它当作一个字符串。有什么帮助吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-07 17:28:21

问题在于:

代码语言:javascript
复制
(test (> n 4))

对绑定变量的引用保留“?”,因此必须编写

代码语言:javascript
复制
(test (> ?n 4))

但是,最好将此约束添加到(n_miembros_familia ?n)中。

代码语言:javascript
复制
(n_miembros_familia ?n&:(> ?n 4))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49709568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档