0
我最初嘗試使用修改功能,但它不會做任何事情,只是打印假,我不知道我在做什麼錯。如何在CLIPS deffunction中聲明事實?
我用
(modify ?tv (v ?x))
沒有奏效。 我然後用
(retract ?tv)
(assert (v ?x))
而是,它的工作。 但是我不想我想修改一個事實,每次鍵入出來,所以我做了一個自定義函數來爲我做的,但
(deffunction modfact(?index ?factname ?factvalue)
(retract ?index)
(assert (?factname ?factvalue))
)
在這一點,給出了一個語法錯誤:
[PRNTUTIL2] Syntax Error: Check appropriate syntax for first field of a RHS pattern.
ERROR:
(deffunction MAIN::modfact
(?index ?factname ?factvalue)
(retract ?index)
(assert (?factname
在我看來,它說我不能實際做出這個功能,因爲我無法用變量的值來斷言事實。我怎樣才能使這個工作?
謝謝!不幸的是,我已經完成了所有的縮進工作,並單獨提出了斷言,這很粗糙。我一定會在下一次任務中使用它! –