import std.stdio;

void main()
{
    auto f = function double(int x) { return x / 10.; };
    auto a = f(5);
    assert(a == 0.5);

    double function(int) e = function double(int x) { return x / 10.; };
    auto b = e(5);
    assert(b == 0.5);

    int h = 2;
    auto g = delegate double(int x) { return h * x / 10.; };
    auto i = g(5);
    assert(i == 1);
    h = 3;
    auto j = g(5);
    assert(j == 1.5);
}
