On Saturday, 16 February 2013 at 21:03:54 UTC, Dicebot wrote:
http://dlang.org/expression.html#FunctionLiteral

Function parameters/variables are declared in D using "ReturnType function(ParameterTypes) symbol". "function" is a keyword here, it can be swapped for "delegate" to get, em, delegates.

In your case something like "void function(int) callback" will do.

You mean this?

void foo(int[] arr, int cmp, void function(int) callback)
{
        foreach(int val; arr)
        {
                if(val == cmp)
                        callback(val);
        }
}

But how do I then pass bar to foo?

void bar(int val)
{
        writeln(val);
}

This doesn't work:

foo([0,1,2], 1, bar);

Reply via email to