On 01/12/2016 08:22 AM, ParticlePeter wrote:
> On Tuesday, 12 January 2016 at 15:57:03 UTC, Marc Schütz wrote:

> Not what I wanted, I wanted the parameter to be part of the alias:
> myFunc = MF { ... }
>
> I want to pass such a function to another function:
>
> alias MF = void function(int i);
> void otherFunc( void function( int ) mf );
> otherFunc( MF { ... } );      // Getting Error: found '{' when expecting

I've added otherFunc(MF) to Marc Schütz's program:

alias MF = void function(int i);

void otherFunc(MF func) {
    func(42);
}

void main() {
    import std.stdio;
    MF myFunc;
    // you can also use the full `function(int i) { ... }` in the next line
    myFunc = (i) { writeln("i = ", i); };
    myFunc(42);

    otherFunc((i) { writefln("otherFunc called me with %s", i); });
}

Ali

Reply via email to