Insert if doesn't exist without double lookup.

Max Klyga max.klyga at gmail.com
Sat Mar 15 12:20:05 PDT 2014


On 2014-03-15 18:44:46 +0000, Agustin said:

> Hello!, i would like to know if this is possible.
> 
> auto asValue ?= (map["Key"] == new Value);
> 
> Instead of doing:
> 
> if (("Key" in map) is null)
>     map["Key"] = new Value
> auto asValue = map["Key"];

auto needle = "Key" in map;
auto value = needle ? *needle : (map["Key"] = new Value);



More information about the Digitalmars-d-learn mailing list