0

有没有办法在开发包时在 R6 类中使用 Rcpp 函数?示例:我的包的 /src 文件夹中有一个 add.cpp,如下所示

#include <Rcpp.h>
using namespace Rcpp;

//
//' Add two numbers 
//'
//' @param x An integer.
//' @param y An integer
// [[Rcpp::export]]
int add(int x, int y) {
  return x + y;
}

我希望在我的 R6 类中使用 Rcpp add 函数作为一个公共函数,称为 Numbers,它位于我的包的 /R 文件夹中的 Numbers.R 文件中

Numbers <- R6class(
"Number",
private = list(
a =6,
b=10
),
public = list(
# How to use add function from add.cpp file using private$a and private$b as inputs 
) 
)
4

1 回答 1

1

您可以简单地调用该函数。我错过了什么吗?

Numbers <- R6::R6Class(
  "Number",
  private = list(
    a = 6,
    b = 10
  ),
  public = list(
    add_ab = function() {
      add(private$a, private$b)
    }
  ) 
)
# Example
num <- Numbers$new()
num$add_ab()
于 2018-03-06T06:48:44.103 回答