next up previous
Next: break Up: ループなどの制御 Previous: while 文

case 文

case (ホニャララ)
  of .... do
          ...;
          ...; 
          ...; 
  of .... do
          ...;
          ...; 
          ...; 
...................      
...................      
...................      
...................      
  otherwise
         ...;
         ...;
         ...;
end_case;

case 文には注意すべきことがあります。 x=A が成り立つときには a を実行、 x=B が成り立つときには b を実行、 x=C が成り立つときには c を実行、 それ以外の場合には dを実行 という場合には、

case x 
  of A  do
         a;
         break; 
  of B  do
         b;
         break; 
  of C  do
         c;
         break; 
  otherwise 
        d;
end_case;
と各段階に break を書いてやらねばならないのです。

これは C 言語などでおなじみの fall through という仕様ですね。
このような言語仕様に不慣れな方は、 break がなければどうなるのか
一度実験してみるとよいと思います。(あるいは \verb+? case \verb してみても
よいでしょう。)



2008-11-15