On 07/15/2013 08:43 PM, JS wrote: > http://dpaste.dzfl.pl/7c8b0ba9 > > Why the heck can't we use integers in ctfe's?
That is false: import std.range; import std.algorithm; import std.conv; import std.stdio; string makeCode(int begin, int end) { auto result = appender!string(`enum made = "`); iota(begin, end) .map!(a => a.to!string) .joiner(", ") .copy(result); result ~= `";`; return result.data; } unittest { assert(makeCode(3, 7) == `enum made = "3, 4, 5, 6";`); } void main() { mixin (makeCode(-3, 3)); writeln(made); } > There seems to be no > simple way to create a counter and this is one of the most basic > programming constructs to use.. That would be pretty limiting, right? > yet with ctfe's it's impossible. I have a feeling that you had something else in mind. > I'd like each variable in the nested structs to be incremented properly. It should be simple to convert the code above to do that. Ali