CLIPS中带auto-focus属性规则执行后,焦点模块是否恢复原模块?
CLIPS模块auto-focus规则执行后的焦点行为
当模块B中带auto-focus TRUE属性的规则被激活并自动聚焦到B后,焦点不会自动直接恢复到模块A,具体行为分两种情况:
- 如果模块B中还有其他处于激活状态的规则,焦点会持续留在B,继续处理B的议程规则;
- 如果模块B中没有剩余的激活规则,CLIPS会自动弹出焦点栈,焦点回到之前的模块A。
如果需要在该规则执行完成后立刻恢复焦点到A,可以在模块B的规则动作部分手动添加(pop-focus)命令,强制弹出当前焦点栈顶的B模块,回到栈中的上一个模块A。
内容的提问来源于stack exchange,提问作者YAMI
相关产品推荐
相关产品推荐

