例:
var d=new Dictionary();
d["sat"] = 1; // d.sat = 1 と同じ
d["sun"] = 2; // d.sun = 2 と同じ
d["mon"] = 3; // d.mon = 3 と同じ
d["name"] ="value!"; // d.name = "value!" と同じ
d["continue"] = 4; // continue は識別子ではないが OK
d.continue = 4; // continue は識別子ではないのでエラー
var sat = d["sat"]; // 1 が代入される
var none = d["none"]; // void が代入される
delete d.sat; // sat を削除
delete d["continue"]; // continue を削除
%[ ]
を使って、式中に Dictionary
クラスのオブジェクトをその場で記述することができます。要素名 => 要素の値、をカンマで区切り、初期要素となる式を列挙します。たとえば、 var dic = %["a" => 1, "b" => 2, "c" => 3];
と記述すれば、dic
に、要素名と要素の組がそれぞれ "a":1
、 "b":2
、 "c":3
となる Dictionary
クラスのオブジェクトへの参照が代入されます。=>
はカンマと全く同じものですが、読みやすさを考え、=>
を使用できるようになっています ( perl と同じです )。dict.assign(src)
のように記述しても、dict が assign というメソッドを持っていないためにエラーになります。例:
var a = %[];
var b = %[];
(Dictionary.assign incontextof a)(b); // b を a にコピー
(Dictionary.clear incontextof b)(); // b の内容をクリア
構文 : assign(<コピー元辞書配列>, <内容をクリアするか=true>)
構文 : assignStruct(<コピー元辞書配列>)