On Friday, 13 December 2013 at 12:09:59 UTC, John Colvin wrote:
On Friday, 13 December 2013 at 11:40:35 UTC, Mike James wrote:
Hi,

Is it possible to pass a string array to a string mixin e.g

template GenSomething(string foo, string[] bar){
 some_kind_of_foreach(br: bar) {
   const char[] foo ~ br ~ ";\n";
 }
}

and call:

mixin(GenSomething!("A", ["B", "C", "D"]));

would generate:

A.B;
A.C;
A.D;

Regards,

-=mike=-

CTFE is your friend here.

string genSomething(string foo, string[] bar) {
  string result;
  foreach(br: bar) {
    result ~= foo ~ '.' ~ br ~ ";\n";
  }
}

mixin(genSomething("A", ["B", "C", "D"]));

Thanks - that worked a treat (just needed a 'return result;').

Regards,

-=mike=-

Reply via email to