Jess规则编写与约束详解
1. Jess规则触发机制
在Jess中,规则的触发遵循特定的机制。当给定的事实列表满足规则的左部(LHS)条件时,会创建一个激活记录。例如,规则 change-baby-if-wet 的LHS条件被单个事实 f - 1 满足时,就会创建激活记录。不过,规则不会立即触发,直到你发出 run 命令。
以下是一个简单的流程说明:
1. 满足LHS条件:事实列表满足规则的LHS条件,创建激活记录。
2. 发出 run 命令:一旦输入 (run) ,激活的规则就会触发。
3. 执行右部(RHS)动作:规则触发后,执行RHS的动作。
例如:
Jess> (watch all)
TRUE
Jess> (assert (baby-is-wet))
<Fact-1>
Jess> (defrule change-baby-if-wet
(baby-is-wet)
=>
(change-baby)
(retract (baby-is-wet)))
TRUE
Jess> (run)
FIRE 1 MAIN::change-baby-if-wet f-1
这里, f - 1 是匹配规则LHS的事实列表。规则触发后,先调用 change - baby
超级会员免费看
订阅专栏 解锁全文
47

被折叠的 条评论
为什么被折叠?



