Flash |
ActionScriptで2次元配列がつくれない |
>> | ネストされた配列を作成する |
C言語などでは、「array[0][0]」と続けて[](かっこ)を記述することで多次元配列を扱うことができるが、ActionScript(以下、AS)では同様につくり出せない。そこで、配列の配列(ネストされた配列)を記述することで対応できるようになっている。
ネストされた配列は、はじめに用意された配列のアドレスひとつひとつに、別の配列をつくるということである。ただし、作成したあとの出力においては、[](かっこ)を続けて記述するだけでよい。具体的には、通常どおり配列をつくり、その配列の中にもう一度Arrayクラスのインスタンスを行えばよい【1】【2】【3】。
ただ、このままでは多次元配列の入出力が不便なのでfor文を利用して自動化していこう【4】。このASは入力を行っているが、この入力部分で逆を行えば必要なデータを出力することができるようになる【5】【6】。
最後に、ASにはObjectクラスを用いることで独自の構造体をつくり出すことが簡単にできる。このため、多次元配列によるデータ管理ではなく構造体での管理が扱いやすいこともあるだろう。開発の規模とデータを見据えて使い分けていこう。
【1】まず配列を作成しそのひとつひとつにふたつ値をもつ配列を代入して、2次元配列を作成した
【2】配列の対応表。はじめにつくった配列が行になり、ネストされた配列が列になる。行が名前、列を住所としている
【3】出力には次元分「[]」を用いる
【4】名前と住所それぞれが配列にあるとして、2次元配列をつくり、そこへそれぞれ入力している
【5】【4】を逆にすれば行と列を出力できる
【6】【5】の出力結果
[INDEX]
>>> 記述したCSSが反映されない
>>> CSSのid・class名の重複で設定がおかしくなる
>>> 改行されていると外部変数が正しく読み込まれない
>>> ActionScriptで2次元配列がつくれない