前のトピック

< 関数呼び出し

次のトピック

独自のオプティマイザ >

このページ

クロージャー

Zephir内でクロージャーあるいは匿名関数を使うことができます。これらはPHP互換で、PHPユーザランドに返すことができます:

namespace MyLibrary;

class Functional
{

    public function map(array! data)
    {
        return function(number) {
            return number * number;
        };
    }
}

Zephir内で直接実行することも可能で、他の関数/メソッドへパラメータとして渡すことができます:

namespace MyLibrary;

class Functional
{

    public function map(array! data)
    {
        return data->map(function(number) {
            return number * number;
        });
    }
}

クロージャーを定義するために短縮構文が利用可能です:

namespace MyLibrary;

class Functional
{

    public function map(array! data)
    {
        return data->map( number => number * number );
    }
}
TOP
inserted by FC2 system