配列オブジェクトの概要

CRS言語は1次元の配列をサポートしており、ほとんどのオブジェクトを配列として定義することができます。

var num = new Number[3];

  または

Number num[3];
配列として定義したオブジェクトは、添え字により配列要素にアクセスすることができます。
添え字には0から始まる整数を指定します。
JavaScriptのArrayオブジェクトなどで利用されている文字列を添え字とした連想配列はサポートされません。(Mapクラスは連想配列をサポートします)

Number num[3];
for( var n = 0; n < 3; n++ ) {
    num[n] = n * 10;
}
print( num[0], num[1], num[2], "\n" );

--- 実行結果 ---
0 10 20
配列オブジェクトはすべて可変長配列として機能し、配列操作用のinsert、truncateメソッドにより要素の数を動的に変更することができます。
配列要素をdeleteメソッドで削除すると、配列オブジェクトからも要素が削除されます。

参考:Arrayクラス

配列オブジェクトとは別に、Arrayクラスを利用することで類似した処理を行うことができます。ArrayクラスはCRS言語としての配列ではありませんが、添え字による要素へのアクセスを行うことができます。

Arrayクラスは配列オブジェクトとは異なり、以下の特徴をもっています。

  1. 要素数は、要素へのアクセスにより自動的に伸張されます。

var a = new Array;
a[0] = 1;
a[5] = 3;

この例では、aの要素は0から5の6個に拡張されます。

  1. 個々の要素に、異なる型のオブジェクトを格納することができます。

Button button1;
TextBox text1;
var a = new Array;
a[0] = button1;
a[1] = text1;

この例では、1番目の要素はButtonオブジェクト、2番目の要素はTextBoxオブジェクトのリファレンスが格納されます。


  1. その他に、Arrayクラス固有のメソッドにより要素のソート等を行うことができます。


詳細は、Arrayクラスの項を参照してください。

参考:Mapクラス

  1. 添え字に文字列を使った連想配列をサポートします。

var a = new Map;
a["ABC"] = 1;
a["DEF"] = 2;
  1. 個々の要素に、異なる型のオブジェクトを格納することができます。

Button button1;
TextBox text1;
var a = new Map;
a["abc"] = button1;
a["def"] = text1;

詳細は、Mapクラスの項を参照してください。