This is an idle thought hence putting it on the Learn-level forum. An idea struck me for foreach to make working with more complicated data types or heavily nested data easier.

        uint[][] a = [[1,2,3],[4,5,6]];

        foreach(uint[] b; a)
                b.writeln;
        

At present you can specify the type of 'b' in this example. If you want to iterate over each uint you have to write (and obviously you can omit the type for 'b' and 'c'):

        
        foreach(uint[] b; a)
                foreach(uint c; b)
                        c.writeln;
        
It would be nice if you could do something like this:

        foreach(uint c; a)
                c.writeln;

Where it will take the ForeachType of 'a' until it finds a match to the type of 'c' and iterate over all that data. It would make it much less messy to apply a function that takes uint to all the data rather than having to nest loops or map maps.

Reply via email to