How i can clear Associative Arrays
    Andrea Fontana 
    nospam at example.com
       
    Mon Apr 15 01:32:02 PDT 2013
    
    
  
On Sunday, 14 April 2013 at 06:50:08 UTC, gedaiu wrote:
> On Saturday, 13 April 2013 at 21:10:16 UTC, Nicolas Guillemot 
> wrote:
>>> I think we should introduce a removeAll function for hashes. 
>>> Either
>>> through Druntime or through a UFCS function that we could put 
>>> in
>>> std.array or somewhere.
>>
>> How about .clear() for consistency with C++ containers?
>
> It looks nice... i am waiting for it :P
If you can't do myArray = null, you can define this:
void removeAll(T, K)(T[K] arr)
{
	foreach(k; arr.keys)
		arr.remove(k);
}
or this:
import std.traits;
void removeAll(T)(T arr) if (isAssociativeArray!T)
{
	foreach(k; arr.keys)
		arr.remove(k);
}
and then using UCFS you can write:
string[int] test;
test[10] = "hello";
test[20] = "world";
test.writeln;
test.removeAll;
test.writeln;
    
    
More information about the Digitalmars-d-learn
mailing list