On Monday, 8 July 2013 at 23:36:46 UTC, John Colvin wrote:
On Monday, 8 July 2013 at 22:57:17 UTC, JS wrote:
        int i = 0;
        foreach(t; T)
        {
                string name = "Value"~((i==0) ? "" : (to!string(i)));
                i++;
        }

That increments i, both ctfe and rt.


vs

        int i = 0;
        foreach(t; T)
        {
                string name = "Value"~((i==0) ? "" : (to!string(i++)));         
    
        }

This will never increment i, whether in ctfe or at runtime. The entire "(to!string(i++))" will never be executed.

oh shit! lol... fuck I'm stupid! ;/

vs


        foreach(i, t; T)
        {
                string name = "Value"~((i==0) ? "" : (to!string(i)));
        }

This will increment i, both in ctfe and at runtime.


Reply via email to