On 2014-01-30 10:28 AM, Timon Gehr wrote:
import std.typetuple, std.stdio; void main(){ foreach(i; TypeTuple!(1,2,3)){ mixin("int num"~i.stringof~";"); } num1=1; num2=2; num3=3; writeln(num1,num2,num3); }
This written as a static foreach or declarative foreach, would be awesome if it exposed the scope. For now the only solution is to build a string and mixin the string like this
string fct(R)(){ string str; foreach (range ; R) str ~= "int num " ~ range.stringof ~ ";"; return str; } mixin(fct!(TypeTuple!(1,2,3)); writeln(num1,num2, num3); Looks a little less convenient than static foreach ( i; 0..3 ) mixin("int num" ~ i.stringof ~ ";"); writeln(num1,num2, num3);