Chap03 配列とベクターと結合配列: 2009年7月アーカイブ

(section03-04 Vectorクラスで作る配列から抜粋)

 ベクターはエレメントのデータ型だけでなく、配列の長さすなわちエレメントの個数も固定できます。エレメントの個数を固定するにはベクターを作る際に第1引数で配列の長さ、第2引数でtrueを指定します。長さを決めてベクターを作ると各エレメントにはベース型に合わせた初期値が入ります。
 次の例はベース型がintで長さを5に固定したベクターvlistを作っています。作られたvlistを確認するとint型の初期値の0が5個入ったベクターが作られています。

[:script:]長さを決めたベクターを作る
var vlist:Vector.<int>=new Vector.<int>(5,true);
trace(vlist);//出力:0,0,0,0,0
 長さが決まっているベクターに値を入れるには[]演算子を使ってエレメントにアクセスします。push()やshift()で値を追加すると長さが変化するので使えません。pop()、unshift()、splice()での値の抜き出しも長さを変更するので利用できません。

[:script:]長さが決まっているベクターに値を設定する
var vlist:Vector.<int>=new Vector.<int>(5,true);
//エレメントの値を設定する
vlist[0]=45;
vlist[1]=21;
vlist[2]=74;
trace(vlist);//出力:45,21,74,0,0
 ベクターの長さを固定するかどうかはfixedプロパティで設定できます。そこで長さを固定せずに値を追加し、後からfixedをtrueにして長さを固定することができます。

[:script:]ベクターに値を追加した後で長さを固定する
//ベース型がStringのベクターcolorsを作る
var colors:Vector.<String>=new Vector.<String>();
//ベクターに値を追加する
colors.push("green");
colors.push("red","blue");
//ベクターの長さを固定する
colors.fixed=true;
(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歩へと踏み出しましょう。
■内容は?→ 目次を見る
■評判は?→ 書評を読む
この本を書いたわけ

このアーカイブについて

このページには、2009年7月以降に書かれたブログ記事のうちChap03 配列とベクターと結合配列カテゴリに属しているものが含まれています。

次のアーカイブはChap03 配列とベクターと結合配列: 2009年8月です。

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

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