有没有办法在CLIPS中输出已激活规则的名称? 例如:
(defrule this-is-my-rule
...
=>
(printout t "this-is-my-rule: and these are the outputs" crlf) ;;#1
)
我不想手动编写#1中规则的名称,而是想使用psecific命令(如果有的话)。 请问有可能吗?
谢谢
尼古拉
答案 0 :(得分:0)
没有以编程方式确定当前正在执行的规则名称的机制,但您可以使用watch debugging命令在执行时打印每个规则的名称:
CLIPS> (defrule rule-1 =>)
CLIPS> (defrule rule-2 =>)
CLIPS> (defrule rule-3 =>)
CLIPS> (watch rules)
CLIPS> (run)
FIRE 1 rule-3: *
FIRE 2 rule-2: *
FIRE 3 rule-1: *
CLIPS>