开始使用免费开始使用

再来一次:do-while 循环

R 中的 repeat 循环在 C++ 里称为 do while 循环。与 while 循环相比,它把条件放在循环末尾,因此循环体至少会执行一次。语法如下:

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)
*/
编辑并运行代码