switchとcase
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/07/23 09:22 UTC 版)
詳細は「switch文」を参照 switch文(言語によっては「case文」)は、指定された値を指定された定数群と比較し、最初に一致した定数に従ってその後の処理を決定するものである。一般にどの定数とも一致しなかった場合を想定したデフォルト動作を 'else' や 'otherwise' などとして用意しておく。ルックアップテーブルなどを使ったコンパイラ最適化が可能である。動的プログラミング言語では比較対象が定数式である必要はなく、パターンマッチに拡張することが可能である。例えば下記のシェルスクリプトの例で '*)' は任意の文字列にマッチングする正規表現を使ってデフォルト動作を指定している。SQLの decode のように、関数のような見た目のものもある。 Pascal:C:シェルスクリプト:case someChar of 'a': actionOnA; 'x': actionOnX; 'y','z':actionOnYandZ; else actionOnNoMatch;end; switch (someChar) { case 'a': actionOnA; break; case 'x': actionOnX; break; case 'y': case 'z': actionOnYandZ; break; default: actionOnNoMatch;} case $someChar in a) actionOnA ;; x) actionOnX ;; [yz]) actionOnYandZ ;; *) actionOnNoMatch ;;esac
※この「switchとcase」の解説は、「制御構造」の解説の一部です。
「switchとcase」を含む「制御構造」の記事については、「制御構造」の概要を参照ください。
- switchとcaseのページへのリンク