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