在R6类中使用rcpp函数

问题描述 投票:0回答:1

有没有办法在开发包时在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;
}

我希望使用Rcpp add函数作为我的R6类中的公共函数,名为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 
) 
)
r rcpp r6
1个回答
0
投票

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

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()
© www.soinside.com 2019 - 2024. All rights reserved.