Replacing nested loops foreach using map/each/etc
Dennis Ritchie via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon May 25 10:05:33 PDT 2015
On Monday, 25 May 2015 at 16:41:35 UTC, Meta wrote:
> import std.algorithm;
> import std.range;
> import std.stdio;
>
> void main()
> {
> const x = 12, y = 65, z = 50, s = 1435;
> auto a = iota(0, x + 1);
> cartesianProduct(a, a, a)
> .filter!(i => i[0] * (y + 3 * z)
> + i[1] * (y + 2 * z)
> + i[2] * (y + z)
> == s)
> .each!((idx)
> {
> writeln(idx[0] + idx[1] + idx[2]);
> writeln(idx[0] * 3 + idx[1] * 2 + idx[2]);
> writeln(idx[0] * 3 + idx[1] * 2 + idx[2]);
> writeln(idx[0], idx[1], idx[2]);
> });
> }
Thanks. I do not even know what `each` support braces.
More information about the Digitalmars-d-learn
mailing list