0
(deftemplate Employee
(slot employee-id)
(slot employee-name)
(slot Role)
(slot Designation))
(deffacts Employees
(employee (employee-name X) (employee-id 1) (Role CS) (Designation TA))
(employee (employee-name Y) (employee-id 2) (Role CS) (Designation SA))
(employee (employee-name Z) (employee-id 3) (Role CIS) (Designation TA))
(employee (employee-name W) (employee-id 4) (Role SE) (Designation SA))
(employee (employee-name Q) (employee-id 5) (Role CIS) (Designation TA))
(employee (employee-name U) (employee-id 1) (Role CS) (Designation TA)))
在上例中,我輸入了兩次員工ID。我如何定義員工ID是唯一的?有沒有辦法讓CLIPS中的插槽只有唯一的值
這裏它會自動生成序列。它不應該讓你用現有的員工ID輸入一個事實。 –
編寫規則以刪除具有重複ID的員工,或使用事實查詢功能來確定員工是否存在該ID並增加?* id *直到找到唯一值,或使用gensym *生成唯一ID,或者創建一個用戶定義的函數,調用C來生成一個UUID。 –
這是有道理的。謝謝..!! –