2015-01-18 2 views
0

В этой кодовой переменной xx возвращает 0 вместо 20, не следует ли рассчитывать ее значение и сохранить ее между оценками?JRI, Java и R: переменная не накапливается между общими значениями

 String[] Rargs = {"--vanilla"}; 
    Rengine re = new Rengine(Rargs, false, null); 

    if (!re.waitForR()) { 
     System.out.println("Cannot load R"); 
     return; 
    } 

    re.eval("xx = 0"); 
    for (int i=0; i<20; i++) { 
     re.eval("xx = xx + 1"); 
    } 

    int xx = (re.eval("xx")).asInt(); 
    System.out.println("xx="+xx); 

Это результат:

xx=0 

ответ

0

Это ответ, нужно использовать asDouble():

double xx = (re.eval("xx")).asDouble(); 
Смежные вопросы