Vòng lặp while

Tối ưu hóa mã R với Rcpp

Romain François

Consulting Datactive, ThinkR

Vòng lặp while đơn giản hơn

while( condition ){
    body
}
  • Điều kiện tiếp tục
  • Thân vòng lặp
Tối ưu hóa mã R với Rcpp
// [[Rcpp::export]]
int power( int n ){    
    if( n < 0 ){
        stop( "n must be positive" )  ;
    }
    int value = 1 ;
    while( value < n ){
        value = value * 2 ;
    }
    return value ;
}

Sau khi biên dịch hàm bằng sourceCpp, bạn có thể gọi nó:

power( 1000 )
power( 17 )
1024
32
Tối ưu hóa mã R với Rcpp

Vòng lặp for chỉ là vòng lặp while

for( init ; condition; increment ){
    body
}

tương đương với

init
while( condition ){
    body
    increment
}
Tối ưu hóa mã R với Rcpp

Vòng lặp do/while

do {
    body
} while( condition ) ;
Tối ưu hóa mã R với Rcpp

Ví dụ về vòng lặp do/while

// [[Rcpp::export]]
int power( int n ){

    if( n < 0 ){
        stop( "n must be positive" )  ;
    }

    int value = 1 ;
    do {
        value = value * 2 ;
    } while( value < n );
    return value ;
}
Tối ưu hóa mã R với Rcpp

Cùng luyện tập nào!

Tối ưu hóa mã R với Rcpp

Preparing Video For Download...