On Friday, 7 November 2014 at 10:58:58 UTC, Marc Schütz wrote:
On Thursday, 6 November 2014 at 22:40:58 UTC, John Colvin wrote:
this should be a textbook case for std.range.transposed, but I
can't seem to get it to work.
Ah, I didn't know this existed. Apparently it's not yet
released, that's why it's not in the official documentation.
With DMD and Phobos from git:
void main(string[] args)
{
import std.stdio: writeln;
import std.range: transposed;
import std.algorithm: map, sum;
int[][] input = new int[][2];
input[0] = [1, 2, 3, 4];
input[1] = [5, 6, 7, 8];
writeln(input);
auto sums = input
.transposed
.map!(a => a.sum);
writeln(sums);
}
Output:
[[1, 2, 3, 4], [5, 6, 7, 8]]
[6, 8, 10, 12]
http://dlang.org/phobos-prerelease/std_range.html#.transposed
yeah it works find for arrays, but it needs assignable elements.