Range of random numbers

bearophile bearophileHUGS at lycos.com
Mon Apr 23 13:52:19 PDT 2012


jerro:
> Couldn't it just be iota with no parameters?

The Count range has a helper count() function similar to this, 
that's meant to have an argument that defaults to zero:

Count!T count(T)(T start=0) if (isIntegral!T) { return 
Count!T(start); }

The argument allows it to start from another starting point, and 
it allows you to specify the type of the numbers it yields, while 
in iota() without arguments it's less easy to specify the type of 
the numbers it yields.

Count(5) is easy to replace with iota(5, int.max), but 
count(BigInt(0)) is less easy to replace with iota, because it 
doesn't give you a way to denote a right-open BigInt interval. 
And using iota(BigInt(0), BigInt(ulong.max)) is not that good. 
Currently using BigInt in iota seems to not even being 
supported...

Bye,
bearophile


More information about the Digitalmars-d-learn mailing list