Sorry, I just love templates, AAs and mixins :)

Ellery Newcomer ellery-newcomer at utulsa.edu
Sat Oct 17 10:45:10 PDT 2009


grauzone wrote:
> Saaa wrote:
>> public void addToAA(char[] var_name, KT, ET)(KT key, ET element)
>> {
>>   mixin(ET.stringof~`[]* elements = key in `~var_name~`;`);
>>   if( elements == null )
>>   {
>>     ET[] temp;
>>     temp.length = 1;
>>     temp[0] = element;
>>     mixin(var_name~`[key] = temp;`);
>>   }
>>   else
>>   {
>>     (*elements).length = (*elements).length + 1;
>>     (*elements)[(*elements).length-1] = element;
>>   }
>> }
>>
> 
> It's unreadable.  

No it isn't. It's an obfusticated version of

if( key in var) var[key] ~= element;
else var[key] = [element];

but who wants to write that boring code? :)


More information about the Digitalmars-d-learn mailing list