2017-11-08 4 views
0

C++에서 R을 호출해야하며 우수한 RInside/Rccp 패키지를 사용하고 있습니다. 저는 R 전문가가 아닙니다. 내 질문에 대해 설명해 줄 수도 있고, 너무 분명한 경우 미안해 할 수도 있습니다.클래스의 RInside InternalFunction에서 함수를 호출하는 방법 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를 사용하지만 I :

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 함수를 호출하는 방법을 다음입니다 :

R.parseEval("Solver.names()"); 

하지만이 작동하지 않는 오류를 제공합니다 C++ 코드에서 처리되는)? 할당/검색 기능이 제대로 작동하고 있습니다. 아마도 "원시적"이기 때문일 수 있습니다.

덕분에 내가 발견 많은 프랑크

답변

0

, 나는 경우에 사람이 검색되어 게시 : 나에게

R.parseEval("names.Solver(Solver)"); 

매우 우아하지 .. 그것은 functionName.class (객체)를 사용합니다 ..

f