我已经构建了一个暴露Rcpp模块的包。相关的Rcpp代码就在这里。
RCPP_MODULE(mod_dde) {
using namespace Rcpp;
class_<DdeConv>("DdeConv")
.constructor<std::string, std::string>()
.field_readonly("server", &DdeConv::_server)
.field_readonly("topic", &DdeConv::_topic)
.method("requestItem", &DdeConv::requestItem)
;
}
我希望包客户端使用尽可能少的键入来初始化此类中的实例。
在zzz.R
我有以下代码
loadModule("mod_dde", TRUE)
但是当我尝试这个时
d <- new(DdeConv, "EXCEL", "[DdeTest.xlsx]Sheet1")
我得到了
Error in .getClassFromCache(Class, where) : object 'DdeConv' not found
我必须这样做
mod_dde <- Module(module = "mod_dde", PACKAGE = "rdde")
d <- new(mod_dde$DdeConv, "EXCEL", "[DdeTest.xlsx]Sheet1")
我知道,这不是太多打字,但我应该能够按照Dirk的优秀vignette
来做前者我做错了什么?