ループの抜けかた

ループを抜けるにはbreakです。breakだけだと実行中ループを抜けるだけですが、ラベルを使うと多重ループの内側から一気に抜けることができます。

下記サンプルでは3つのループスクリプトがあります。それぞれ2重のループになっています。

  • 1つめは普通。
  • 2つめは、内側ループにbreakを入れたもの。内側を抜けても外側ループは引き続き実行されます。
  • 3つめは、外側ループにラベルを設定して、内側ループにbreakを入れたもの。内側ループを抜けるときにラベルのところまで行くので、外側ループも抜けることになります。

ということで実行結果みたら、私が言いたいことがわかると思います。

この内容を表示するためには Adobe Flash Plugin が必要です。

<?xml version="1.0" encoding="UTF-8"?>
<canvas proxied="false" bgcolor="0xeeeeee">
  <simplelayout spacing="10"/>
  <text id="txt1" multiline="true" fontsize="12"/>
  <handler name="oninit"><![CDATA[
    var i = 0;
    do{
      var j = 0;
      do{
        txt1.addText(String(i)+j+" | ");
        j++;
      }while(j<10)
      i++;
      txt1.addText("\n");
    }while(i<5);
  ]]></handler>
  <text id="txt2" multiline="true" fontsize="12"/>
  <handler name="oninit"><![CDATA[
    var i = 0;
    do{
      var j = 0;
      do{
        txt2.addText(String(i)+j+" | ");
        j++;
        if(i==2 && j==5) break ;
      }while(j<10)
      i++;
      txt2.addText("\n");
    }while(i<5);
  ]]></handler>
  <text id="txt3" multiline="true" fontsize="12"/>
  <handler name="oninit"><![CDATA[
    var i = 0;
    XXX:do{
      var j = 0;
      do{
        txt3.addText(String(i)+j+" | ");
        j++;
        if(i==2 && j==5) break XXX;
      }while(j<10)
      i++;
      txt3.addText("\n");
    }while(i<5);
  ]]></handler>
</canvas>
breakloop.txt · 最終更新: 2010/02/26 00:49 by ason
Copyright © 2008~ずっと ason(minamotonoason@gmail.com)

chuumap 中小企業ツイッターマップ 製造、加工、卸などB2B主体の個人事業者、中小企業のツイッターを、グーグルマップの住所の位置に正確に表示。
tentwi 店舗でツイート 飲食店、販売店など、一般消費者向けの店舗を構えるお店ツイッターを、グーグルマップの住所の位置に正確に表示。
廃句ったー あなたのツイッターの最近のツイートから廃句もとい俳句を生成。
みかけったー 超人気!あなたのツイッターの最近のツイートからみかけの年齢と性別を診断。
キキキーったー 最近のツイートからキーの使用回数をしらべます。
SLOTTER(すろったー) あなたのツイッターのタイムラインのアイコンでスロット。FLASHゲーム。
MultiLangTweet 一度に48ヶ国語に翻訳してツイート。
英訳ったー 英訳または日本語訳してツイート。
バンドメンバー募集サイト シンプルなバンドメンバー募集サイト。
CMS総合デモサイト 有名オープンソースCMS、EC、SNS、Wikiを一度に全部体験できる総合デモサイト
ビズロック BizRock(ビズロック)~音楽ライブでプレゼン!情熱型ビジネス交流会