Multi-Dimensional Associative Arrays ".get" and "in"

Timon Gehr timon.gehr at gmx.ch
Fri Jun 8 14:50:48 PDT 2012


On 06/06/2012 04:17 PM, Paul wrote:
> I've seen examples using .get and "in" to test for keys:
> ....aa.get("hello", "salute") == "ciao"....
> ...."hello" in aa....
>
> Can I use this .get function or "in" operator with multi-D arrays?
>
> string[string][string][string] aa;
>
> ....if (["hello"][][] in aa).... ?
>

Well, no. string[string][string][string] is an associative array mapping 
strings to associative arrays mapping strings to associative arrays 
mapping strings to strings. The indexes are more or less unrelated as 
far as the AA interface is concerned.

You can implement such functionality yourself, or use an approach like

string[Tuple!(string, string, string)] aa;

....if(tuple("hello","salute","ciao") in aa)....

if it is compatible with your usage patterns. this maps 3 key strings to 
the value string in one go.


More information about the Digitalmars-d-learn mailing list