View mode: basic / threaded / horizontal-split · Log in · Help
June 06, 2012
Multi-Dimensional Associative Arrays ".get" and "in"
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).... ?
June 08, 2012
Re: Multi-Dimensional Associative Arrays ".get" and "in"
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.
Top | Discussion index | About this forum | D home