配列
配列の生成
[] で配列を生成します.要素はセミコロンで区切ります.
[1; 2; 3]; // [1; 2; 3]
配列のサイズ
Array オブジェクトの持つ len 属性を呼び出すことで配列のサイズを取得します.Array は List の親オブジェクトです.
list = [1; 2; 3];
println(Array::len list); // 3
ドット . を使うと記述を短くできます.
list = [1; 2; 3];
println(list.len); // 3
:: はオブジェクトの属性を参照する構文です.オブジェクトが該当の属性を有しない場合,親オブジェクトの属性が参照されます.
. は属性に対して自分自身を呼び出す構文です.上のコードでは,list の親オブジェクトである Array の len 属性を list で呼び出しています.
要素の取得と変更
Int オブジェクトで呼び出すことで要素を取得します.
list = [1; 2; 3];
println(list 0); // 1
1 >- list >- println; // 2
set 属性を呼び出すことで要素を変更します.
list = [1; 2; 3];
list.set 1 5;
println list; // [1; 5; 3]
リストの結合
+ 演算子でリスト同士を結合します.
list = [1; 2; 3];
println(list + list); // [1; 2; 3; 1; 2; 3]
その他の操作
インデックスの取得
list = [1; 2; 3];
println(list.indexOf 2); // 1
println(list.indexOf 3); // 2
println(list.indexOf 4); // -1
末尾に追加
list = [1; 2; 3];
list.push 4;
println list; // [1; 2; 3; 4]
先頭に追加
list = [1; 2; 3];
list.unshift 0;
println list; // [0; 1; 2; 3]
末尾から削除
list = [1; 2; 3];
list.pop;
println list; // [1; 2]
先頭から削除
list = [1; 2; 3];
list.shift;
println list; // [2; 3]
要素の挿入
list = [1; 2; 3];
list.insert 1 4;
println list; // [1; 4; 2; 3]
要素の削除
list = [1; 2; 3];
list.remove 1;
println list; // [1; 3]
要素の入れ替え
list = [1; 2; 3];
list.swap 0 2;
println list; // [3; 2; 1]
ソート
list = [1; 2; 3];
list.sort a -> b -> a > b;
println list; // [3; 2; 1]