2012-02-01 32 views
8

我是這個框架的初學者,我試圖用地圖代替Java類。流口水和地圖

我的例子看起來像這樣:

主要方法:

Map<String, Float> mapa = new HashMap<String, Float>(); 
mapa.put("Height", (float)1.73); 
mapa.put("Weight", (float)79.0); 
mapa.put("BMI", mapa.get("Weight")/
       (mapa.get("Height") * mapa.get("Height"))); 
ksession.insert(mapa); 

rule.drl:

rule "Low BMI" 
    when 
     $map : (Map(values("BMI")) < 18.0) 
    then 
     System.out.println("You have a low BMI"); 
end 

我想BMI的值進行比較規則前提之內,如果這條件是真的,所以我想在下面顯示消息。

什麼問題?

回答

12

你應該寫類似:

when 
    $map: Map(this["BMI"] < 18) 
then 

它應該工作:)

+0

+1,甚至我需要幫助與哪些屬性不正常工作的屬性。 – aitchnyu 2012-02-02 06:48:07

+0

列表和地圖在5.8.3.3.8(這裏是[5.8.3](http://docs.jboss.org/drools/release/5.4.0.Beta2/drools-expert-docs/html/ch05.html #d0e4051)) – aitchnyu 2012-02-02 14:16:38