我需要从C ++调用R并使用优秀的RInside / Rccp包。 我不是R专家,这可能解释了我的问题,对不起,如果它太明显了。
我创建了一个对象和一个包装类,类似于Rinside examples / standard / rinside_interactive0.cpp。在此示例中,它显示了如何将方法附加到R属性类。
wr.attr("class") = "Solver";
R["Solver"] = wr;
... more code
R["names.Solver"] = Rcpp::InternalFunction(& Names); <-- Hot to call this one from R
实际上我从未看到从R到此函数的调用,以及R语法是什么?不过,我以这种方式使用R.parseEval:
R.parseEval("Solver.names()");
但这不起作用并给出错误:
Error in Solver.names() : could not find function "Solver.names"
terminate called after throwing an instance of 'std::runtime_error'
what(): Error evaluating: Solver.names()
我的问题是如何调用R中的Solver.names函数(在C ++代码中处理)? 请注意,赋值/检索功能正常,可能是因为它们在某种程度上是“原始的”?
非常感谢 弗兰克
答案 0 :(得分:0)
我发现了,我发帖以防有人在搜:
R.parseEval("names.Solver(Solver)");
对我来说不是很优雅..,它使用functionName.class(Object)..
F。