【发布时间】:2018-07-30 21:19:43
【问题描述】:
我对 Clips 专家系统非常陌生 我正在寻找用于比较以前规则中的文本的语法
喜欢这个
(defrule GetGender
(declare (salience 100))
(printout t "What's your gender ? (Male/Female): ")
(bind ?response (read))
(assert (Gender (gender ?response))))
当我从上面得到像“男性”这样的答案时,我希望下面的规则处于活动状态。
(defrule GetShirt
(declare (salience 99))
(Gender (gender ?l))
(test (= ?l Male))
=>
(printout t "What's your shirt color ? (Blue/Black): ")
(bind ?response (read))
(assert (Shirt (shirt ?response))))
但是好像(test and =) 不是字符串比较的语法,而且我的英文还不够好,我什至不知道代码中的“?l”是什么意思
有人可以帮我解决这个问题吗?
谢谢。
【问题讨论】:
标签: string syntax compare conditional-statements clips