裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

return は,「文」ではなく「関数」だ!!

2014年04月24日 | ブログラミング

お恥ずかしいことながら,私自身,前に一度はまったことを,またやっちゃったので,3 度目はないようにと,自戒の意味を込めて。

関数で,途中で関数を抜ける,しかも特に何の戻り値も持たずにという場合には,引数を持たない return は使っちゃいけないよということ。

foo <- function(bar, baz) {
    if (bar < 0) {
        return
   } else {
       :
   }
}

これは,ダメ。return は 関数なので,引数を持たないで return なんて書くと,return の定義そのものが戻り値になる。従って,「関数から戻る」なんてことは,期待できない。文法エラーにもならず気づかないので,最大限の注意が必要。

書くならば return() とか return(NULL) とか,とにかく,引数を明示的に書くべし。

コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PVアクセスランキング にほんブログ村

PVアクセスランキング にほんブログ村