插入关联数组?

Red*_*hft 2 d

我现在正在玩关联数组,我似乎无法弄清楚如何向数组中添加其他对象.我尝试过插入,但它不能识别这两个参数.

另外,如果我这样做会产生错误:

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运算符?

q66*_*q66 7

要添加单个元素,只需像对任何其他类型的数组一样分配它.

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是哈希表.

  • 然后使用赋值op:assoc_array [key] = value; (4认同)