函数或方法作为集合中的值

时间:2015-02-26 08:31:30

标签: hacklang

是否可以将函数或方法调用作为值传递给任何类型的集合?

$collection = Vector {
    function(){}
};

上面的代码抛出致命错误:语法错误,意外T_FUNCTION,期待'}'

1 个答案:

答案 0 :(得分:1)

糟糕,这看起来像是HHVM解析器的限制。以下是使用本地人解决它的几个选项。如果对您来说很重要,请随意file an issue on GitHub支持原始问题中的字面语法。

选项1:

$v = Vector {};
$f = function () {};
$v[] = $f;

选项2:

$f = function () {};
$v = Vector {$f};