To be clear, I'm not too bothered how associative arrays work. My
proposal was merely a means by which the following currently working code:
stuff[previouslyNonexistentKey]++;
could continue to work without relying on a current implementation
quirk-possibly-bug.
If you want to change it not to work and make people's existing code
crash, you can :)
On 18/02/2012 23:08, Ben Davis wrote:
On 18/02/2012 22:57, Andrej Mitrovic wrote:
Are you familiar with cases where you want regular arrays to return
Type.init when you go out of bounds?
The front page says D isn't meant to be an orthogonal language :P
If you want orthogonality, then associative arrays will have to work
something like this:
int[string] stuff;
stuff.addKey("a");
stuff.addKey("b");
stuff.addKey("d");
stuff.addKey("e");
stuff["a"]=0;
stuff["b"]=1;
stuff["c"]=2; //error
writefln("%s",stuff["d"]);
writefln("%s",stuff["e"]);
writefln("%s",stuff["f"]); //error
Do you want to do that?