始める無料で始める

if と if/else

R と同様に、分岐には ifelse キーワードを使えます。構文は R と同じです。

if(condition) {
  // 条件が TRUE のときに実行するコード
} else {
  // それ以外の場合に実行するコード
}

ここでは ifelse を使って、浮動小数点数の絶対値を計算する absolute() 関数の定義を完成させます。(これは C++ の関数 fabs() を模倣しています。)

この演習はコースの一部です

Rcpp で R コードを最適化する

コースを見る

演習の手順

  • x が 0 より大きいかを判定します。
  • 条件が成り立つ場合は x を返します。
  • それ以外の場合に備えてキーワードを追加します。
  • 条件が成り立たない場合は負の x を返します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

#include 
using namespace Rcpp ;

// [[Rcpp::export]]
double absolute(double x) {
  // Test for x greater than zero
  ___(___) {
    // Return x
    ___;
  // Otherwise
  } ___ {
    // Return negative x
    ___;
  }
}

/*** R  
absolute(pi)
absolute(-3)
*/
コードを編集して実行