我正在寻找动态更新列表的解决方案。
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
List Test(){
List L;
List L1=List::create(12,45,22,44);
L=Language("c",L,L1).eval();//update, add L1's elements on L's back.
return L;
}
自“List L;”以来,上述内容不起作用使 L 成为一个空列表。
但是,如果我编写一个附加函数:
List connectlist(List& a, List& b){
return Language("c",a,b).eval();
}
并替换“L=Language("c",L,L1).eval();”使用“connectlist(L,L1);”,它会起作用。
谁能告诉我原因吗?或者有没有更简单的方法来动态更新 Rcpp 中的列表?
PS:我做了一些时间测试,结果显示调用“c”函数来组合 2 个列表比通过复制 2 个列表中的元素来创建新列表更快。
Thanks!