Thread overview
clear AAs
Apr 18, 2007
Mandel
Apr 18, 2007
Bradley Smith
Apr 18, 2007
Daniel Keep
Apr 18, 2007
Max Samukha
Apr 18, 2007
BCS
Apr 19, 2007
Max Samukha
Apr 18, 2007
Aarti_pl
April 18, 2007
Hi,

I have a simple question, how can I remove all elements of an associative array
in an elegant way?
The length property of an AA is read only.
Doing a foreach/remove seems a bit to much text; most containers provide some clear method.
April 18, 2007
Mandel wrote:
> Hi,
> 
> I have a simple question, how can I remove all elements of an associative array
> in an elegant way?
> The length property of an AA is read only.
> Doing a foreach/remove seems a bit to much text; most containers provide some clear method.


import std.stdio;

void main() {

  bool[char[]] aa;
  aa["abc"] = true;
  aa["def"] = false;
  writefln(aa);

  aa = aa.init;
  writefln(aa);
}

April 18, 2007

Bradley Smith wrote:
> Mandel wrote:
>> Hi,
>>
>> I have a simple question, how can I remove all elements of an
>> associative array
>> in an elegant way?
>> The length property of an AA is read only.
>> Doing a foreach/remove seems a bit to much text; most containers
>> provide some clear method.
> 
> 
> import std.stdio;
> 
> void main() {
> 
>   bool[char[]] aa;
>   aa["abc"] = true;
>   aa["def"] = false;
>   writefln(aa);
> 
>   aa = aa.init;
>   writefln(aa);
> }

... that's so simple; why didn't I think of that before?!

Thanks for that! :)

	-- Daniel

-- 
int getRandomNumber()
{
    return 4; // chosen by fair dice roll.
              // guaranteed to be random.
}

http://xkcd.com/

v2sw5+8Yhw5ln4+5pr6OFPma8u6+7Lw4Tm6+7l6+7D i28a2Xs3MSr2e4/6+7t4TNSMb6HTOp5en5g6RAHCP  http://hackerkey.com/
April 18, 2007
Bradley Smith napisaƂ(a):
> Mandel wrote:
>> Hi,
>>
>> I have a simple question, how can I remove all elements of an associative array
>> in an elegant way?
>> The length property of an AA is read only.
>> Doing a foreach/remove seems a bit to much text; most containers provide some clear method.
> 
> 
> import std.stdio;
> 
> void main() {
> 
>   bool[char[]] aa;
>   aa["abc"] = true;
>   aa["def"] = false;
>   writefln(aa);
> 
>   aa = aa.init;
>   writefln(aa);
> }
> 


You can also do it in following way:

aa = null;

BR
Marcin Kuszczak
aarti_pl
April 18, 2007
On Wed, 18 Apr 2007 18:01:00 +1000, Daniel Keep <daniel.keep.lists@gmail.com> wrote:

>
>
>Bradley Smith wrote:
>> Mandel wrote:
>>> Hi,
>>>
>>> I have a simple question, how can I remove all elements of an
>>> associative array
>>> in an elegant way?
>>> The length property of an AA is read only.
>>> Doing a foreach/remove seems a bit to much text; most containers
>>> provide some clear method.
>> 
>> 
>> import std.stdio;
>> 
>> void main() {
>> 
>>   bool[char[]] aa;
>>   aa["abc"] = true;
>>   aa["def"] = false;
>>   writefln(aa);
>> 
>>   aa = aa.init;
>>   writefln(aa);
>> }
>
>... that's so simple; why didn't I think of that before?!
>
>Thanks for that! :)
>
>	-- Daniel

Or aa = null (aa.init == null)
April 18, 2007
Max Samukha wrote:
> Daniel Keep wrote:
> 
>>Bradley Smith wrote:
>>
>>>import std.stdio;
>>>
>>>void main() {
>>>
>>>  bool[char[]] aa;
>>>  aa["abc"] = true;
>>>  aa["def"] = false;
>>>  writefln(aa);
>>>
>>>  aa = aa.init;
>>>  writefln(aa);
>>>}
>>
>>... that's so simple; why didn't I think of that before?!
>>
>>Thanks for that! :)
>>
>>	-- Daniel
> 
> 
> Or aa = null (aa.init == null)

can you then fill it up again?
April 19, 2007
On Wed, 18 Apr 2007 09:18:50 -0700, BCS <BCS@pathlink.com> wrote:

>Max Samukha wrote:
>> Daniel Keep wrote:
>> 
>>>Bradley Smith wrote:
>>>
>>>>import std.stdio;
>>>>
>>>>void main() {
>>>>
>>>>  bool[char[]] aa;
>>>>  aa["abc"] = true;
>>>>  aa["def"] = false;
>>>>  writefln(aa);
>>>>
>>>>  aa = aa.init;
>>>>  writefln(aa);
>>>>}
>>>
>>>... that's so simple; why didn't I think of that before?!
>>>
>>>Thanks for that! :)
>>>
>>>	-- Daniel
>> 
>> 
>> Or aa = null (aa.init == null)
>
>can you then fill it up again?
Yes