On Thursday, 28 June 2018 at 14:35:33 UTC, Mr.Bingo wrote:
Seems like it would unify things quite a bit.
import std.typecons, std.range, std.array, std.algorithm,
std.stdio;
void main()
{
auto t = tuple(3,4,5,6);
//auto t = [3,4,5,6];
writeln(t.map!(a => 3*a).sum());
}
You could make a range out of tuples. This seems to work:
import std.typecons, std.range, std.array, std.algorithm,
std.stdio;
void main()
{
auto t = tuple(3,4,5,6);
auto m = t.expand.only;
writeln(m.map!(a => 3*a).sum());
}
Tuple.expand will expand the elements when calling a function (in
this case only from std.range).
https://dlang.org/library/std/typecons/tuple.expand.html