rcpp - RInside: can not read R["R.version.string"] as string -
i'm trying read value of r.version.string using operator []. result exception thrown. instead, r.parseeval("r.version.string") ok. below example rinside_sample0.cpp modified showing issue.
#include <rinside.h> // embedded r via rinside int main(int argc, char *argv[]) { rinside r(argc, argv); // create embedded r instance try { std::string versionko = r["r.version.string"]; } catch(std::exception& ex) { std::cerr << "exception caught: " << ex.what() << std::endl; } catch(...) { std::cerr << "unknown exception caught" << std::endl; } std::string versionok = r.parseeval("r.version.string"); std::cout << versionok << std::endl; r["txt"] = "hello, world!\n"; // assign char* (string) 'txt' r.parseevalq("cat(txt)"); // eval init string, ignoring returns exit(0); }
the output obtained is:
exception caught: expecting string r version 3.1.2 (2014-10-31) hello, world!
this issue has been solved on https://github.com/eddelbuettel/rinside/issues/9. variable r.version.string visible in base environment , can retrieved this:
rcpp::environment baseenv("package:base"); std::string versionr = baseenv["r.version.string"];
Comments
Post a Comment