2017-12-03 7 views
0

を事実を追加する私はそこに機能CLIPS Validate Text Entryを発見し、私はそれをこのように拡張したい:どのようにクリップで

(deffunction ask-question (?mark ?question $?allowed-values)  
     (printout t ?question)  
     (bind ?answer (read))  
     (if (lexemep ?answer) 
      then (bind ?answer (lowcase ?answer)) 
     **(assert car-mark(name ?mark))** 
    ) (while (not (member ?answer ?allowed-values)) do 
     (printout t ?question) 
     (bind ?answer (read)) 
     (if (lexemep ?answer) 
      then (bind ?answer (lowcase ?answer)) 
      **(assert car-mark(name ?mark))** 
     ) 
    ) ?answer) 

だから、私は、ユーザの入力はい/ yの場合、私の事実で新しい車マークを追加する予定 - else - 事実を追加しない。ただし、クリップでエラーが発生する:

[PRNTUTIL2]構文エラー:RHSパターンの構文を確認してください。

ERROR:車マークのための私のテンプレートがあり

(deffunction MAIN::ask-question 
    (?mark ?question $?allowed-values) 
    (printout t ?question) 
    (bind ?answer (read)) 
    (if (lexemep ?answer) 
     then 
     (bind ?answer (lowcase ?answer)) 
     (assert car-mark 

(deftemplate車マーク (スロット名) )

どのように正しく新しい事実を追加して検討しますユーザー入力(yes - add、no - no add)?

答えて

1
(assert (car-mark (name "foo"))) 
関連する問題