Visual BasicのSelect case、Javascriptのswitch caseなど、select/switch系の構文について、Web拾い読みメモ。
例えば以下の記事では色々とSelect caseの使い途が紹介されています。
Visual Basic 中学校 / 6.Select Case はもっと使える
http://homepage1.nifty.com/rucio/main/technique/Select.htm
エッセンスとしてはif ~ then ~ else ~ end if / if {} else {}を簡略に表現できる、ということでしょう。
ところが、もっと簡略に表現することもできて、連想配列を使ってもよいようです。
Wiki books / JavaScript JavaScript的プログラミング
http://ja.wikibooks.org/wiki/JavaScript_JavaScript%E7%9A%84%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0
実際には、ifと配列表現のちょうど間に位置するSelect case / switch caseが最も読みやすく理解しやすいのでは。
コードで見てみる
実際にコードで比較してみると以下のようになり、switchは簡略さと可読性をバランスした構文といえます。もっとも、以下の場合でも処理1~3の内容が単に値を返すだけといった場合は、配列を使ったほうがシンプルだし直観的でしょう。逆に、どうしても処理1~3の内容が長くなる場合はifを使ったほうが、処理ブロックの前に必ず条件が提示される構文であるため、可読性が高まるかもしれません。もっとも、ネストされた内部に長い処理が出てくるならば、別のサブルーチンとして追い出すべきかもしれません。
// if~elseの表現 if(n==1) { 処理1; } else if(n==2) { 処理2; } else if(n==3) { 処理3; } // switch~caseの表現 switch(n){ case 1: 処理1; break; case 2: 処理2; break; case 3: 処理3; break; } // 配列を用いた表現 obj = [ function(){ 処理1; }, function(){ 処理2; }, function(){ 処理3; } ]; obj[n]();
No comments :
Post a Comment