[Issue 9339] std.random.uniform!Enum should return random enum member
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Jan 17 21:35:47 PST 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9339
--- Comment #13 from hsteoh at quickfur.ath.cx 2013-01-17 21:35:46 PST ---
Oh? This code compiles & links just fine:
import std.random;
import std.traits;
E randomPick(E)() if (is(E == enum)) {
static members = [ EnumMembers!E ];
return members[uniform(0, EnumMembers!E.length)];
}
void main() {
}
unittest {
enum Fruit { Apple = 12, Mango = 29, Pear = 72 };
foreach (_; 0 .. 100) {
auto f = randomPick!Fruit();
assert(f == Fruit.Apple || f == Fruit.Mango || f ==
Fruit.Pear);
}
}
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list