関数からの値の戻り

関数から値を返すには、return ステートメントを使用します。return ステートメントは、関数から返される値を指定します。return ステートメントは、関数内で実行される式を評価し、その結果を関数の値として返します。return ステートメントにより、結果は即座に呼び出し元のコードに返されます。

詳細については、『ActionScript 2.0 リファレンスガイド』の「return ステートメント」を参照してください。

関数で return ステートメントを使用する場合、次のような決まりがあります。

たとえば、次の関数ではパラメータ myNum の 2 乗を返し、戻り値のデータ型は必ず数値にするように指定しています。

function sqr(myNum:Number):Number {
  return myNum * myNum;
}

関数の中には、一連の処理を実行するだけで、値を返さないものもあります。次の例では、処理済みの値が関数から返されます。返された値は、変数内に格納することによりアプリケーション内で使用できます。

値を返し、その値を変数に格納するには :

  1. 新しい Flash ドキュメントを作成し、「return.fla」という名前で保存します。
  2. メインタイムラインのフレーム 1 に次のコードを追加します。
    function getArea(width:Number, height:Number):Number {
         return width * height;
    }
    

    getArea() 関数は、widthheight の 2 つのパラメータを取ります。

  3. 関数の後に次のコードを入力します。
    var area:Number = getArea(10, 12);
    trace(area); // 120
    

    getArea() 関数呼び出しで、width と height にそれぞれ 10 と 12 の値を割り当て、戻り値を area インスタンスに保存します。次に、area インスタンスに保存した値をトレース出力します。

  4. [制御]-[ムービープレビュー] を選択して SWF ファイルをテストします。

    [出力] パネルに 120 と表示されます。

    getArea() 関数のパラメータはローカル変数と同様に扱われます。つまり、関数が呼び出されている間は存在しますが、関数が終了すると消滅します。


 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000760.html