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