0
我在CLIPS以下deftemplates(6.3)的事實:CLIPS找工作不
(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
我現在應該怎麼辦?
看來他希望能夠使用'forSearch' deftemplate指定要匹配的'A'插槽,這樣就不需要爲每個插槽分開規則。也就是''c'可以指定槽'a'或槽''b'。 – bogatron
根據CLIPS手冊,我不認爲這是可能的,通配符不能是模式中的第一項。 –
如果你使用'fact-slot-value',它可能會工作 –