On 2010-11-13 18:27, div0 wrote:
On 13/11/2010 15:49, Jacob Carlborg wrote:
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.
True. It's been fixed in dmd2 though, you get:
Error: Integer constant expression expected instead of ""
When it's auto the compiler thinks you are doing static initialisation
of a flat array, not an AA. You have to do what Ellery said.
Well, that's no fun. How many are using the Static Initialization of
Static Arrays syntax:
http://www.digitalmars.com/d/2.0/arrays.html#static-init-static ?
--
/Jacob Carlborg