始める無料で始める

もう一度実行: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)
*/
コードを編集して実行