Я использовал Rcpp и RInside для интеграции R и C ++ .У нас есть сложная, но хорошо спроектированная архитектура C ++, и мне трудно получить доступ к R из одной функции.Можно ли передать экземпляр R
различным классам / функциям, чтобы получить более ООП дизайн?Если да, есть ли примеры?
Чтобы разработать запрос, я хочу сказать, что что-то вроде этого:
void foo(RInside& R0, int& x0)
{
R0.assign(x0,"totalSum");
}
void foo2(RInside& R0, int& y0)
{
R0.assign(y0,"temp");
R0.parseEvalQ("totalSum = totalSum + temp");
}
int main(int argc, char *argv[])
{
RInside R(int argc, char *argv[]);
int x=10, y = 11;
foo(R,x);
foo2(R,y);
return 0;
}
В настоящее время я замечаю, что каждый вызов foo, вероятно, создает новый экземплярRInside.
Спасибо - Эгон