繁体   English   中英

使用 clipspy 提取事实的字符串表示不一致

[英]Inconsistency in extracting string representation of facts using clipspy

刚开始在 Python 3.8.3 中使用 clipspy-0.3.3。

提取事实时,在.facts()枚举器中遇到不一致。

下面的代码

import clips

env = clips.Environment()

env.assert_string("(value 1)")
env.assert_string("(value 2)")
env.assert_string("(value 3)")
env.assert_string("(value 4)")
env.assert_string("(value 5)")
env.assert_string("(value 6)")
env.assert_string("(value 7)")
env.assert_string("(value 8)")
env.assert_string("(value 9)")
env.assert_string("(value 10)")

for fact in env.facts():
    print(fact)

产生结果

(initial-fact)
(value 1)
(value 2)
(value 3)
(value 4)
(value 5)
(value 6)
(value 7)
(value 8)
(value 9)
f-10    (value 10)

从中可以看出不一致之处

  • 数字小于 10 的事实,前面的f-1从事实字符串中删除,并且,
  • 数字等于或大于 10 的事实,前面的f-10不会从事实字符串中删除。

即使上面的不一致性可以用正则表达式替换解决,如下

import re

for fact in env.facts():
    print(re.sub(r'^[^(]*',r'',str(fact)))

如果clispy包中的.facts()枚举器一致地返回事实的字符串表示,那就clispy

这看起来像是clipspy一个错误,我建议您在其存储库中打开一个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM