我想計(jì)算我的事實(shí),而事實(shí)必須是布爾值。對于我的意圖,我只需要計(jì)數(shù)為真。我的問題是,例如,如果我斷言或使用 defact 在一個插槽中制作 4 個事實(shí)。工作記憶不會讀取所有的事實(shí)。我嘗試將另一個插槽與另一個數(shù)據(jù)(在這種情況下為名稱)放在一起并且工作正常,但我不需要另一個插槽。我這樣做只是為了嘗試運(yùn)行這段代碼。還有其他選擇嗎?我來給你展示:(deftemplate testing (slot bole)(slot otro))(watch all)(defquery search-by-true "Finds true"(declare (variables ?ln))(testing (bole ?ln)(otro ?ot))) (deffacts data (testing (bole TRUE)(otro josue)) (testing (bole TRUE)(otro pedro)) (testing (bole FALSE)(otro pablo)))(reset) (bind ?result (run-query* search-by-true TRUE))(bind ?x 0) (while (?result next) (bind ?x (+ ?x 1)) ) (printout t (* ?x 0.3) crlf)我的意圖是通過使用帶有 java 代碼和 jess 的對象來學(xué)習(xí)這一點(diǎn)。我將如何使用 JCheckbox 并且這個對象是布爾值,所以這就是為什么我需要理解這一點(diǎn)。如果您對我有好的建議,我會虛心接受。謝謝。
1 回答

UYOU
TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個贊
如果我理解正確的話,你希望工作記憶包含類似
(testing (bole TRUE)) (testing (bole TRUE)) (testing (bole FALSE))
... 然后運(yùn)行一些代碼,告訴您有 2 個“bole TRUE”事實(shí)。這在 Jess 中是不可能的:工作記憶不能包含重復(fù)的事實(shí)。如果您嘗試斷言與現(xiàn)有事實(shí)相同的事實(shí),斷言將返回 FALSE,并且不會對工作記憶進(jìn)行任何更改。您可以使用額外的插槽來包含序列號或其他一些獨(dú)特的信息。
添加回答
舉報(bào)
0/150
提交
取消