Feature to get or add value to an associative array.

Giles Bathgate giles.bathgate at gmail.com
Tue Apr 17 21:40:55 UTC 2018


On Tuesday, 17 April 2018 at 20:49:30 UTC, Steven Schveighoffer 
wrote:
> Not as straightforward, but it can be done:
>
> bool inserted = false;
> auto p = aa.getOrAdd("key", {inserted = true; return new 
> Person; });

Yes, I like that approach. I don't want to bloat the feature at 
this stage, although there is nothing stopping adding an overload 
later. I agree returning ref makes sense since we never return 
null. Consequently, I am leaning toward thinking it should be 
called getOrCreate now though.

Rust calls its version of this function `or_insert_with` (blegh)

https://doc.rust-lang.org/std/collections/hash_map/enum.Entry.html#method.or_insert_with


More information about the Digitalmars-d mailing list