On Monday, 29 September 2014 at 17:02:43 UTC, Martin Nowak wrote:
Does anyone know a construct to turn a lambda into an infinite
range.
import std.random;
unittest
{
Random gen;
foreach(v; xxx!(() => uniform(0, 100, gen)).take(10))
writeln(v);
}
I though I've seen this around somewhere but can no longer find
it.
I can't find anything to do it. That seems weirdly absent. You
can abuse recurrence to do it.
Random gen;
foreach(v; recurrence!((a, n) => uniform(0, 100,
gen))(0).dropOne.take(10))
writeln(v);