if と if/else
R と同様に、分岐には if と else キーワードを使えます。構文は R と同じです。
if(condition) {
// 条件が TRUE のときに実行するコード
} else {
// それ以外の場合に実行するコード
}
ここでは if と else を使って、浮動小数点数の絶対値を計算する 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)
*/