Associative Array Non-null initialization
BCS
ao at pathlink.com
Tue Oct 2 14:59:27 PDT 2007
Reply to Kyle G.,
> Hi,
>
> I want to declare an AA such that it's starting length is 0, yet, it
> is not null.
>
> For instance:
>
> 1 string[int] aa;
> 2 assert (aa.length == 0);
> 3 assert (aa is null);
> 4 aa[100] = "";
> 5 aa.remove(100);
> 6 assert (aa.length == 0);
> 7 assert (aa !is null);
> The above runs without error, as it should. Notice that assertions 3
> and 7 are opposite.
>
> However, is there anything shorter/more efficient that I can do
> (preferably on line 1) which would generate an AA which satisfies the
> assertions 6 and 7?
>
> This appears to function in the same way:
>
> string[int] aa = [100:""];
> aa.remove(100);
> assert (aa.length == 0);
> assert (aa !is null);
> Thank you.
>
its a pitty AA.remove is of type void. If it wasn't then this would work:
([int.init:char[].init].remove(int.init))
More information about the Digitalmars-d-learn
mailing list