On 06/18/2012 05:11 PM, IK wrote:
Hmm does your code generate a 1D `array` as a grid, bearophile?
Anyway thanks, I'll compile it shortly.

My own code evolved to what's below and gives a Range violation.
Also I don't understand why formattedRead can't just accept a casted
`opSlice.dup`, is it a bug?

Yes.


void main()
{
        uint[20][20] grid;
        auto input_file = new MmFile("p011_input.txt");
        string temp = cast(string)input_file.opSlice;

        formattedRead(temp, "%(%(%s %)\n%)",&grid);
}

IIRC formattedRead would require input similar to

"[[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5]]"

This works:

void main()
{
    auto input_file = new MmFile("p011_input.txt");
    auto text = cast(string)input_file[];
    auto grid = text.splitLines.map!(_=>_.split.to!(uint[])).array;
}

Reply via email to