我具有以下高阶函数:
public function function Method (required string name, args=[]) {
return function (object) {
return invoke(object, name, args);
};
}
示例用法:
['abc', 'defg'].map(Method('len')); // [3, 4]
不幸的是,那个例子坏了。当invoke
的第一个参数是字符串时,它将被解释为组件的名称。有没有一种实现Method
的方法可以避免此问题?