我现在正在玩关联数组,我似乎无法弄清楚如何向数组中添加其他对象.我尝试过插入,但它不能识别这两个参数.
另外,如果我这样做会产生错误:
Node[bool] test;
Node node;
Node[bool] temp = [ false:node ];
test ~= temp;
//Error 1 Error: cannot append type Node[bool] to type
//Node[bool] C:\Users\CP\Documents\Visual Studio
//2010\Projects\D\STDS\NPC.d 256
Run Code Online (Sandbox Code Playgroud)
这是否意味着你不能在关联数组上使用append运算符?
要添加单个元素,只需像对任何其他类型的数组一样分配它.
test[false] = node;
Run Code Online (Sandbox Code Playgroud)
要将assoc数组附加到另一个assoc数组,请在其上循环,然后重新分配元素.
foreach(k, v; temp) test[k] = v;
Run Code Online (Sandbox Code Playgroud)
原因:关联数组不是列表; 顾名思义,它们就是关联数组.追加运算符对连续的元素列表有意义.D'AAs是哈希表.