Download Reference Manual
The Developer's Library for D
About Wiki Forums Source Search Contact and associative array

Moderators: larsivi kris

Posted: 08/06/09 12:10:24 Modified: 08/06/09 15:41:25


I have a strange behaviour, when using complex associative arrays together with the Path class. If I use this associative array

     char[][][uint][char[]]  list;  

and fill it with approx. 100'000 items, which take approx. take 60MB memory I randomly get:

PATH Exception: <path>: No such file or directory. 

This might not have anything to do with tango, but rather with the associative arrays, but could anybody give me a hint why this might happen? This does not happen if not associative array is build up and neither does it happen, when an associative array, such as:

char[][char[]]  list;     

is created.

thanks a lot for any help..

ciao Lars

PS: I just figured that the problem might be how the chars get filled. I use the following line to extract the different char[] strings from a text file:

    char[][] entities;
    entities = Util.split(Utf.toLower(Util.trim(line)), " ");

The entities are then assigned to the associative array like this:

list[names[names.length-1]][0] = names[0..$-1];

I think I just run again in a problem with references. How can this be solved? How should this be coded?

Should this work?

list[names[names.length-1].dup][0] = names[0..$-1].dup;

There are no responses to display.