我在CLIPS(6.3)中有以下deftemplates:
(deftemplate A ( slot a ) (slot b) )
(deftemplate forSearch (slot property)(slot value))
我需要从输入中读取(property, value)
对,然后找到A
位中property
的值为value
的事实(defrule r2
(forSearch (property ?c)(value ?d))
(A (?c ?d))
=>
(printout t "debug" crlf)
)
。
如果我这样做:
[PRNTUTIL2] Syntax Error: Check appropriate syntax for deftemplate patterns.
ERROR:
(defrule MAIN::r2
(forSearch (property ?c) (value ?d))
(A (?c
我收到以下错误:
{{1}}
我现在该怎么办?
答案 0 :(得分:0)
您必须在规则的模式匹配部分写入插槽名称。
正确的sintax是:
(defrule r2
(forSearch (property ?c)(value ?d))
(A (a ?c) (b ?d))
=>
(printout t "debug" crlf)
)
我不明白你想要完成什么,我知道它已经很晚了,但希望它有所帮助。