簡體   English   中英

如何從jess中的java類讀取變量?

[英]How to read a variable from a java class in jess?

我正在嘗試將Java類中的兩個變量讀取到我的.clp文件中進行比較。

誰能幫我這個忙。 謝謝。

我正在嘗試這種方式..

(deftemplate Alarm  (declare (from-class Alarm)))

(Alarm (measuredValue ?m) (nominalValue ?n))

(printout t ?m ?n crlf)

您應該在工作存儲器中插入了Alarm類事實。 然后這樣的規則

(defrule compalarm
  ?alarm <- (Alarm (measuredValue ?m)(nominalValue ?n))
=>
  (printout t ?m " - " $n crlf)
)

使您可以訪問某些此類Alarm對象的字段。 關於比較這些值:您可以在規則中執行此操作,但是您沒有寫方法,因此我沒有添加任何內容。

以后要使用Java類創建對象並將其作為事實插入:

(bind ?alarm (new pack.age.Alarm))
(set-member ?alarm measuredValue 42)
(set-member ?alarm nominalValue 50)
(add ?alarm)

您可以使用(get-member ...)訪問Java對象中的字段。

有關此(以及更多)信息,請參見Jess手冊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM