HammurabiScala規(guī)則引擎
Hammurabi 是一個(gè) Scala 編寫(xiě)的規(guī)則引擎,適合實(shí)現(xiàn)便于閱讀的內(nèi)部DSL。與其他 DSL 不同的是,Hammurabi 可直接使用宿主語(yǔ)言編寫(xiě)和編譯規(guī)則。
示例規(guī)則:
rule ("Person to Fred’s immediate right is wearing blue pants") let {
val p1 = kindOf[Person] having (_.name == "Fred")
val p2 = any(kindOf[Person])
when {
p2.pos equals p1.pos + 1
} then {
assign color "blue" to p2
}
}評(píng)論
圖片
表情
