再做一次:do-while 迴圈
R 裡的 repeat 迴圈在 C++ 中稱為 do while 迴圈。與 while 迴圈相比,它把條件放在迴圈的最後,因此迴圈內容至少會執行 1 次。語法如下:
do {
// Do something
} while(condition);
請注意 while 條件後面的分號。
本練習屬於課程
用 Rcpp 最佳化 R 程式碼
練習說明
- 用
do敘述開始迴圈。 - 指定
while條件,讓當is_good_enough的值為 false 時,迴圈持續執行。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
#include
using namespace Rcpp;
// [[Rcpp::export]]
double sqrt_approx(double value, double threshold) {
double x = 1.0;
double previous = x;
bool is_good_enough = false;
// Initiate do while loop
___ {
previous = x;
x = (x + value / x) / 2.0;
is_good_enough = fabs(x - previous) < threshold;
// Specify while condition
} ___
return x;
}
/*** R
sqrt_approx(2, 0.00001)
*/