Thread overview
Associative multidimensional Arrays
Jun 12, 2013
MaB
Jun 12, 2013
gedaiu
Jun 12, 2013
Ali Çehreli
Jun 13, 2013
MaB
June 12, 2013
Hi!

I want to bulid up a IndexArray with a structure like this (PHP code):
<code>
$arrIndex = array(
 "A" => array(
          "B" => array()
        ),
 "B" => array(
          "B" => array("C" => array())
        )

);
</code>
The Keys are of Type string and the values can be arrays with the same structure.
The Array-Depth has to be variable..
Is there a way in D to make it possible? I am trying it now since hours :(

Greetings



June 12, 2013
Hi,

Please look at this thread. You might find your answer there:

http://forum.dlang.org/thread/vphniyxyvgsiazuttona@forum.dlang.org

Bogdan

On Wednesday, 12 June 2013 at 20:20:09 UTC, MaB wrote:
> Hi!
>
> I want to bulid up a IndexArray with a structure like this (PHP code):
> <code>
> $arrIndex = array(
>  "A" => array(
>           "B" => array()
>         ),
>  "B" => array(
>           "B" => array("C" => array())
>         )
>
> );
> </code>
> The Keys are of Type string and the values can be arrays with the same structure.
> The Array-Depth has to be variable..
> Is there a way in D to make it possible? I am trying it now since hours :(
>
> Greetings

June 12, 2013
On 06/12/2013 01:20 PM, MaB wrote:
> Hi!
>
> I want to bulid up a IndexArray with a structure like this (PHP code):
> <code>
> $arrIndex = array(
>   "A" => array(
>            "B" => array()
>          ),
>   "B" => array(
>            "B" => array("C" => array())
>          )
>
> );
> </code>
> The Keys are of Type string and the values can be arrays with the same
> structure.
> The Array-Depth has to be variable..
> Is there a way in D to make it possible? I am trying it now since hours :(
>
> Greetings
>
>
>

Pretty complex but I think this is it:

import std.stdio;
import std.array;

struct Node
{
    Node[][string] children;
}

void main()
{
    Node[] table;
    table ~= Node();

    table.back.children["A"] ~= Node();
    table.back.children["A"].back.children["B"] ~= Node();

    writeln(table);
}

Ali

June 13, 2013
Thx Ali!

You pushed me in the right directoin :)