为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 clipspy 撤回事实

如何使用 clipspy 撤回事实

偶然的你 2021-09-28 13:21:07
如何使用 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 撤回事实?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 188 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信