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
___