例:
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 不是有效的标识符,但是这样写没问题
d.continue = 4; // 因为 continue 不是有效的标识符,这样写是错误的
var sat = d["sat"]; // 1 被代入到变量 sat 中
var none = d["none"]; // void 被代入到变量 none 中
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(<被复制的源字典>)