2017-11-08 11 views
0

RをC++から呼び出す必要があり、優れたRInside/Rccpパッケージを使用しています。 私はRの専門家ではない、これは私の質問を説明し、あまりにも明白な場合はごめんなさい。クラス内のRInside InternalFunctionから関数を呼び出す方法R

私は、Rinsideの例/標準/ 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++コードで扱われます)? assign/retrieval関数は正常に動作していることに注意してください。

どうもありがとう フランク

答えて

0

私が見つけた、私が投稿した場合には、誰かが検索されます。

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

ない私にとって非常にエレガントを...、それはfunctionName.class(Object)を使用しています。..

f

関連する問題