Скажите, что у меня есть функция C++ dosomething(z)
, которая имеет единственную входную переменную z
, но также и «свободную» переменную, расположенную внутри нее (скажем y
). Я хочу, чтобы иметь возможность проектировать область, так что, когда я запускаю функцию Rcpp, она находит свободную переменную внутри функции R, в которой она вызывается.Rcpp scope of free variables
function(x) {
y = x^2
Rcpp::sourceCpp('C:/Users/xxx/dosomething.cpp')
dosomething(z)
}
Так в приведенном выше, я хочу, чтобы функция dosomething(z)
использовать значение у определенного в функции R? Как использовать возможности среды Rcpp для достижения этой цели? В настоящее время я могу просто заставить свободные переменные работать, находя их в глобальной среде (не непосредственно внутри функции R).
Rcpp упрощает _переменные переменные _explicitly_ pass. Я рекомендую использовать эту функцию. –