www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - AA getLValue

reply "Martin Nowak" <dawg dawgfoto.de> writes:
Does anybody know an efficient way to get/create-if-missing an lvalue AA  
entry.
I commonly resort to this, but it uses three lookups.

auto p = key in aa;
if (p is null)
{
     aa[key] = inital;
     p = key in aa;
}
//...
Mar 27 2012
parent simendsjo <simendsjo gmail.com> writes:
On Tue, 27 Mar 2012 11:35:51 +0200, Martin Nowak <dawg dawgfoto.de> wrote:

 Does anybody know an efficient way to get/create-if-missing an lvalue AA  
 entry.
 I commonly resort to this, but it uses three lookups.

 auto p = key in aa;
 if (p is null)
 {
      aa[key] = inital;
      p = key in aa;
 }
 //...

Depends on your needs, but I find aa.get(key, defaultValue) nice. It doesn't set the value though: auto p = aa.get(key, initial);
Mar 27 2012