C++ 文件中的 R 代码
当您使用 sourceCpp()(或 RStudio 中的 "Source" 按钮)编译 C++ 文件时,Rcpp 会编译您的代码,并将导出的函数作为 R 函数提供。
sourceCpp() 还会把位于 /*** R 和 */ 之间的注释当作 R 代码,在编译完成后执行一次。
/*** R
# 在这里运行导出的 R 代码
*/
这在开发过程中尤其有用,因为您可以非常快速地测试代码修改带来的效果。
在本课程接下来的内容中,您都会使用这些特殊注释。
本练习是课程的一部分
用 Rcpp 优化 R 代码
练习说明
- 使用
/*** R开始一个 Rcpp 的 R 注释块。 - 调用
dist函数,计算从原点到(3,4)点的距离。 - 使用
*/结束该 Rcpp 的 R 注释块。
交互式实操练习
通过完成这段示例代码来试试这个练习。
#include
using namespace Rcpp;
double square(double x) {
return x * x ;
}
// [[Rcpp::export]]
double dist(double x, double y) {
return sqrt(square(x) + square(y));
}
// Start the Rcpp R comment block
___
# Call dist() to the point (3, 4)
___
# Close the Rcpp R comment block
___