为什么没有很好地引用变量 x?
Why isn't variable x referenced well?
在下面的 jess/clips 代码中,变量 x 没有被很好地引用。为什么?
(assert (item 2))
(assert (item 12))
(defrule ex1not
(not (item ?x))
(item ?y & (> ?x 10)) <- HERE I GET "No such variable x"
=>
)
对于 ?x
的任何值,第一个模式在没有事实 (item ?x)
的情况下匹配;当根本没有 (item)
个事实时,它是真的。然后第二个模式会尝试将 ?x
与 10 进行比较。如果我们以某种方式处于第二个模式,那么由于 ?x
没有匹配任何东西,它没有任何价值,所以你无法比较它对任何东西。
如果您编辑问题以添加您实际想用英语表达的内容,我可以编辑我的答案以向您展示如何做。
在下面的 jess/clips 代码中,变量 x 没有被很好地引用。为什么?
(assert (item 2))
(assert (item 12))
(defrule ex1not
(not (item ?x))
(item ?y & (> ?x 10)) <- HERE I GET "No such variable x"
=>
)
对于 ?x
的任何值,第一个模式在没有事实 (item ?x)
的情况下匹配;当根本没有 (item)
个事实时,它是真的。然后第二个模式会尝试将 ?x
与 10 进行比较。如果我们以某种方式处于第二个模式,那么由于 ?x
没有匹配任何东西,它没有任何价值,所以你无法比较它对任何东西。
如果您编辑问题以添加您实际想用英语表达的内容,我可以编辑我的答案以向您展示如何做。