On Thursday, 13 February 2014 at 02:02:38 UTC, Anton wrote:
Am I misunderstanding how this function is meant to be used?

Yeah, uniform takes two numerical arguments: a min and a max. It returns a value between the two, including the min, but not including the max. So

int a = uniform(0, 10); // returns 0,1,2,3,4,5,6,7,8, or 9.

You could do a random animal by doing `cast(Animals) uniform(0, 3);`, or getting fancier with reflection stuff... that'd take a few more lines, use __traits(getMember) and __traits(allMembers) to randomize rather than .min and .max because the latter wouldn't handle holes in the values.

Reply via email to