On 08/12/2012 01:54 PM, bearophile wrote:
Era Scarecrow:

But that problem goes away if you turn it into a small array right?
(And pass the array to the foreach to cycle over) So throwing that
idea out there you get...

foo[] array;

foreach(m; std.traits.EnumMembers!foo)
array ~= m;

foreach(m; array) {
//not compiler-time expansion like above
}

Often better (but every time builds an array on the heap):

foreach (m; [EnumMembers!Foo]) { // Not a static foreach
}

Bye,
bearophile

This builds the array once at compile time:

static immutable members = [EnumMembers!Foo];
foreach(m; members){

}

Reply via email to