On Wednesday, 25 June 2014 at 09:30:54 UTC, seany wrote:
Given an assosiative array : int[string] k, is there a way (either phobos or tango) to pop the first element of this array and append it to another array?

I can come up with a primitive soluiton:

int[string] k;
// populate k here

int[string] j;


foreach(sttring key, int val; k)
{

j[key] = val;
break;
}

but could it be better? it is wroth noting that the keys are not known beforehand.

If you want something like a hash table that preserves insertion order, you could try using an array of tuples instead. Then to "pop" the first element, just do 'arr = arr[1..$]'.

Reply via email to