開始使用免費開始

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
___
編輯並執行程式碼