On Saturday, 4 August 2012 at 17:02:19 UTC, bearophile wrote:
Ralph Main:
The module std.random documentation doesn't work as per the
examples.
The example shows getting a random number by the following
code does not work:
<code>
// Generate a uniformly-distributed integer in the range
[0, 14]
auto i = uniform(0, 15);
// Generate a uniformly-distributed real in the range [0,
100)
// using a specific random generator
Random gen;
auto r = uniform(0.0L, 100.0L, gen);
</code>
<code>
// Gets a random number
int get_random() {
auto rng = Random(unpredictableSeed);
auto rn = uniform(0, m_files.length, rng);
return rn;
}
</code>
This code works, but it's a bad idea to create a new generator
inside getRandom():
get_random is inside of a class. Because of scope problems, I
don't think I can put it anywhere else. It would be better if
you could create rng as
int rng;
rng = Random(unpredictableSeed);
then you would be able to put it elsewhere.
Ralph