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

Reply via email to