phrenotype / lambda
将PHP函数转换为lambda表达式
v1.5.0
2023-03-17 14:41 UTC
Requires
- php: >=7.0.0
README
这是一个库,可以将命名和匿名PHP函数转换为lambda表达式。这使得它们可以进行curry和部分应用。
安装
composer require phrenotype/lambda
示例
所有参数必需
$add = lambda(function($a, $b, $c){ return $a + $b + $c; }); echo $add(4,5,2); echo $add(4,5)(2); echo $add(4)(5,2); echo $add(4)(5)(2);
可选参数
这有点棘手。
$add = lambda(function($a, $b, $c=2){ return $a + $b + $c; });
要记住的关键点是,一旦应用的参数数量与所需的参数数量完全匹配,它将返回一个结果,而不是lambda。因此,在处理可选参数时,不要以curry风格应用参数。而是使用部分应用。
echo $add(4,5,2); // Ok echo $add(4)(5,2) // Ok echo $add(4,5)(2); // Error echo $add(4)(5)(2); //Error