如何使用 clipspy 从 python 函数中收回 CLIPS 中的事实。我尝试使用,build()但事实仍然存在。;;--KB.clp--;;(defrule main-intent (initial-fact) => (assert (fact one)) (assert (fact two)))(defrule rule_1 ?p <- (fact one) ?q <- (fact two) => (py_pfact) (py_retract ?p ?q) (py_pfact))从 python 运行# run.pyimport clipsclips_env = clips.Environment()def py_pfact(): for fact in clips_env.facts(): print(fact)def py_retract(p, q): clips_env.build('retract '+str(p))clips_env.define_function(py_retract)clips_env.define_function(py_pfact)clips_env.load("KB.clp")clips_env.reset()clips_env.run()输出是:(initial-fact)(fact one)(fact two)(initial-fact)(fact one)(fact two)(事实一)没有撤回。似乎 ?p 不包含事实标识符,而是包含整个事实本身。过去,我曾以这种方式使用过 PyCLIPS,而且效果很好。是否可以使用 ClipsPy 撤回事实?
添加回答
举报
0/150
提交
取消