プロプログラマ

プログラマーを職業としてます。 Flex,Air,C#,Oracle,HTML+JSの言語ノウハウを中心に情報発信していきます

[Flex] switch文の書き方

前回Javaのswitch文の書き方を紹介しましたが、
Flexでのswitch文についてもご紹介します。
(Flexというより、actionScriptの構文です。)

Flexのswitch文はJavaとは違い、条件には文字列も指定可能です。
構文はJavaと同じです。

var text:String = "test";

switch (text)
{
     case "rensyu":
          trace(1);
          break;
     case "test":
          trace(2);
          break;
     case "kyukei":
          trace(3);
          break;
     default:
          trace(4);
          break;
}

この例の場合は、”2″が表示されます。
イメージ通りに指定ができると思います。
スピードもswitch文で書くほうが速い場合が多いので、こちらをお勧めします。


switch文を初めて書く人がよく間違えるのが、break文を書き忘れることです。
書かなくてもエラーにはならず、その場合は、そのまま次のcase文判定が行われます。
この場合、テストした条件によっては、動作に問題が起こらないこともあり、
しばらくたってから、バグに気づくことになります。
ご注意ください。

また、switch文の変わった書き方として、

var obj:TextInput = new TextInput();

switch (true) 
{
     case obj is Label:
          trace("label");
          break;
     case obj is DropDownList:
          trace("dropdown");
          break;
     case obj is TextInput:
          trace("textInput");
          break;
     default:
          trace("other");
          break;
}

このように書くと、オブジェクトの型の判別ができます。
上記のように、switch文に値そのものではなく、条件を渡して判定したい場合は、
switchの後ろは(true)と書いて、case文の後ろに条件を書くと、複雑な条件分岐が可能です。

なかなか便利な書き方ですね。
switch文としては少しわかりづらい記述となるので、コメントなどで補足してあげてください。

 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

, ,

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください