How to repeat a function call?

monarch_dodra monarchdodra at gmail.com
Wed Apr 2 13:47:10 PDT 2014


On Wednesday, 2 April 2014 at 19:33:28 UTC, w0rp wrote:
> auto initTuple(size_t N, alias func)() {
>     string magic() {
>         string result = "return tuple(";
>
>         foreach(i; 0..N) {
>             result ~= "func(),";
>         }
>
>         result ~= ");";
>
>         return result;
>     }
>
>     mixin(magic());
> }

auto initTuple(size_t N, alias func)()
{
     return mixin(q{tuple(%-(%s, %))}.format("func".repeat(N)));
}


More information about the Digitalmars-d-learn mailing list