Nested associative arrays

Jacob Carlborg doob at me.com
Sat Nov 13 07:49:05 PST 2010


On 2010-11-13 14:56, div0 wrote:
> On 13/11/2010 11:02, Jacob Carlborg wrote:
>> On 2010-11-12 17:44, Ellery Newcomer wrote:
>>> Should be. Are you having problems?
>>>
>>> (I don't use them much, but fwiw, it seems like tango had some
>>> [trivial?] problems with them)
>>>
>>> On 11/12/2010 10:08 AM, Jacob Carlborg wrote:
>>>> Is D supposed to be able to handle nested associative arrays ?
>>>>
>>>>
>>
>> Well, yes. The following code:
>>
>> module main;
>>
>> void main ()
>> {
>> auto tree = ["" : ["" : ""]];
>> }
>>
>> Using DMD 1.065 results in:
>>
>> Assertion failed: (0), function toExpression, file init.c, line 437.
>>
> That's static initialisation not an AA.
>
> alias string[char] innerAA;
> alias innerAA[int] outerAA;
>
> outerAA x;
> innerAA t;
>
> x[2] = t;
>
> auto y = x[2];
> y['c'] = "cat";
>
> I've no idea what'll happen if you start passing it around though.

How about "associative array literal" then? Regardless of what you call 
it I shouldn't get an assertion failure.

-- 
/Jacob Carlborg


More information about the Digitalmars-d-learn mailing list