Я создал тестовый пакет, содержащий код Rcpp
, используя команду Rcpp.package.skeleton()
. Все необходимые файлы в соответствии с виньеткой были сгенерированы, и я смог скомпилировать пакет.. Создание файла RD в пакете с использованием Rcpp
Я пытался добавить roxygen2
стиль комментариев к примеру кода
#include <Rcpp.h>
using namespace Rcpp;
//' @param none required
//' @return List of functions
// [[Rcpp::export]]
List rcpp_hello_world() {
CharacterVector x = CharacterVector::create("foo", "bar") ;
NumericVector y = NumericVector::create(0.0, 1.0) ;
List z = List::create(x, y) ;
return z ;
}
Я вижу, что новый R/RcppExports.R
показывает изменения
#' @param none required
#' @return List of functions
rcpp_hello_world <- function() {
.Call('TestPackageRcpp_rcpp_hello_world', PACKAGE = 'TestPackageRcpp')
}
, но эти изменения не получают переданы в файл rcpp_hello_world.Rd
и ?rcpp_hello_world()
все еще дает
rcpp_hello_world {TestPackageRcpp} R Documentation
Simple function using Rcpp
Description
Simple function using Rcpp
Usage
rcpp_hello_world()
Examples
## Not run:
rcpp_hello_world()
## End(Not run)
Кроме того, я создал еще один файл файл timesTwo.cpp
и добавил
//' @param - a numeric vector
//' @return - a numeric vector
в файл timesTwo.cpp
. Я вижу изменения в файле R/RcppExports.R
#' @param numeric vector
#' @return numeric vector
timesTwo <- function(x) {
.Call('TestPackageRcpp_timesTwo', PACKAGE = 'TestPackageRcpp', x)
}
но не новый файл /man/timesTwo.Rd
не создается.
Я также запускаю Rcpp::compileAttributes()
после создания нового файла и запускаю сборку и перезагрузку.
Я создаю новые файлы неправильно? Это не большая проблема, и я могу написать timesTwo.Rd
вручную, но я хочу, чтобы иметь возможность писать комментарии в timesTwo.cpp
, если функциональность уже доступна. Я использую
platform x86_64-apple-darwin13.1.0
arch x86_64
os darwin13.1.0
system x86_64, darwin13.1.0
status
major 3
minor 1.0
year 2014
month 04
day 10
svn rev 65387
language R
version.string R version 3.1.0 (2014-04-10)
nickname Spring Dance
и Rcpp
версии 0.11.6
и RStudio
версия 0.99.441
Вам нужно будет вызвать 'devtools :: document()' для обеспечения создания файлов '.Rd' из генерируемых комментариев roxygen. –
Спасибо! См. Мой комментарий ниже для получения полного ответа. – SN248