rcaller 2.2 и 2.3 не останавливаются в режиме последовательных команд с помощью runAndReturnResultOnline
Я работаю на машине с Windows 7 с R 3.1.0. Я скачал rcaller 2.2 и последнюю версию 2.3 и последовал примеру последовательных команд из учебника. Однако программа не останавливается в Eclipse после выполнения последней строки кода.
R.exe и Rterm.exe все еще находятся в диспетчере задач. И каждый раз, когда я перезапускаю программу, в диспетчере задач добавляются еще R.exe и Rterm.exe...
Ниже приведен код Java:
import rcaller.RCaller;
import rcaller.RCode;
public class RCallerOnlineTest {
public static void main(String[] args) {
RCaller caller = new RCaller();
// change to your path please
caller.setRExecutable("C:/R/R-3.1.0/bin/x64/R.exe");
RCode code = new RCode();
caller.setRCode(code);
code.addDoubleArray("x", new double[]{1.0, 2.0, 3.0, 4.0, 50.0});
code.addRCode("result <- mean(x)");
caller.runAndReturnResultOnline("result");
double mean = caller.getParser().getAsDoubleArray("result")[0];
System.out.println("mean: " + mean);
boolean status = caller.stopStreamConsumers();
System.out.println(status);
}
}
Вывод следующий:
mean: 12.0
true
Так что последняя распечатка верна. Я предполагаю, что это означает, что rcaller остановлен, но это не так. Я что-то здесь упускаю? Я не смог найти метод с именем stop в библиотеке...
1 ответ
Спасибо за ваше сообщение. Версия 59bfd7335cb8 исправляет эту проблему, по крайней мере, я надеюсь. Метод StopRCallerOnline() в классе RCaller теперь останавливает экземпляр R в памяти, которая создается в runAndReturnResultOnline(). Все тестовые файлы пройдены и процессов R по-прежнему нет в диспетчере задач.
После более всесторонних тестов я планирую скомпилировать и опубликовать версию 2.4 15 июня. Но вы все еще можете загрузить исходное дерево и скомпилировать себя, используя maven
Надежда работает на вас.