ActionScript 3.0入門ノート CS4でタグ「push」が付けられているもの

(section03-01 Arrayクラスの配列から抜粋)

 Arrayクラスには、配列に値を追加挿入したり、値を抜き取るといったメソッドがあります。push()は配列の最後に値を追加し、追加後の配列の長さを返すメソッドです。同時に複数の値を追加することもできます。
 次の例は最初に空のcolors配列を作り、色を末尾に追加しています。結果として["red","yellow","green","black"]の配列になります。

[:script:]配列に値を追加する
//空の配列を作る
var colors:Array = new Array();
//値を追加する
colors.push("red");
colors.push("yellow","green");
//pushした順に値が追加されている
trace(colors);//出力:red,yellow,green

var cnt:uint=colors.push("black");
//pushすると配列の長さが返ってくる
trace(cnt);//出力:4
trace(colors);//出力:red,yellow,green,black
 逆にpop()は配列の最後の値を抜き取るメソッドです。演算子[]で最後の値を取り出しても元の配列に入っている値はそのままですが、pop()で値を抜き取ると最後の値が配列から削除されます。
 次の例はcolorsから最後の色を抜き取っています。lastColorには最後の値の"black"が入り、元のcolorsからは最後の値が削除されて["red","yellow"]の2色になります。

[:script:]配列の最後の値を抜き取る
var colors:Array=["red","yellow","black"];
var lastColor:String=colors.pop();
//取り出した値
trace(lastColor);//出力:black
//元の配列からは最後の値が取り除かれている
trace(colors);//出力:red,yellow
(section03-04 Vectorクラスで作る配列から抜粋)

 Arrayクラスの配列にはいろんなデータ型の値を混ぜて入れることができる手軽さがありますが、配列に入れる値は数値だけに限りたいというようにデータ型を限定したい場合があります。
 Vectorクラスで作る配列は値のデータ型を限定できるという点が大きな違いです。Vectorクラスで作る配列をベクターと呼び、ベクターのエレメント(値)のデータ型を「ベース型」と呼びます。
 次のスクリプトではベース型がStringのベクターcolorsを作っています。つまり、colorsにはString型の値しか入れることができません。変数colorsを宣言する際にはVector型を指定すると同時にベース型をVector.<ベース型>の書式で指定します。ベクターに値を入れるにはpop()やshift()を使って値を追加していきます。

[:script:]ベース型がStringのベクターを作り値を入れる
//ベース型がStringのベクターcolorsを作る
var colors:Vector.<String>=new Vector.<String>();
//ベクターcolorsに値を追加する
colors.push("green","red","blue");
trace(colors);//出力:green,red,blue
 ベクターにベース型とは異なるデータ型の値を追加するとエラーになるか、強制的にベース型で指定したデータ型に変換されます。たとえば、ベクターcolorsに数値を追加すると値をストリングに強制的に変換されて入ります。数値を入れてもストリングになっているので、取り出した値に+演算子で数値を足すとストリングの連結になり、数値演算をしようとするとエラーになります。

[:script:]ベース型とは異なるデータ型の値を追加した場合
//ベース型がStringのベクターcolorsを作る
var colors:Vector.<String>=new Vector.<String>();
//エレメントに数値を追加する
colors.push(100,200,300);
trace(colors[0]+99);//10099 -- 文字列として連結される
trace(colors[1]*2);//数値演算はエラーになる
まったく新しいAS3の世界!
694a.jpg
Adobe Flash CS4
詳細!ActionScript3.0入門ノート[完全改訂版](CD-ROM付)

楽しいActionScript。
新たなる1歩へと踏み出しましょう。
■内容は?→ 目次を見る
■評判は?→ 書評を読む
この本を書いたわけ

タグ

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

あわせて読みたいブログパーツ