On Sunday, 12 July 2015 at 20:31:20 UTC, jmh530 wrote:
On Sunday, 12 July 2015 at 17:11:04 UTC, anonymous wrote:

And personally, I'd probably just type out `x.map!fun.array` every time.

[1] http://dlang.org/hijack.html

Thanks for the comments.

After thinking it over, I think you're absolutely right about the function pointers. I made a slight change to just this:

private template givemeabettername(alias fun)
{
    T givemeabettername(T : U[], U)(T x)
        if (isArray!(T))
    {
        return x.map!(a => fun(a)).array;
    }
}

Very cool. I guess I'm still left with the issue that I don't know how to loop through a bunch of different functions at compile time, but this is so elegant that it doesn't seem like that big a deal.

I'll admit, I still don't think I really have a handle on alias (i.e., it's not something I immediately think of; I understand what it does). It seems like you can do so many things with it. It's just not something that I used in other languages much.

Reply via email to