phrenotype/lambda

将PHP函数转换为lambda表达式

v1.5.0 2023-03-17 14:41 UTC

This package is auto-updated.

Last update: 2024-09-17 17:58:07 UTC


README

github stars license contributors code size

这是一个库,可以将命名和匿名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

联系方式

邮箱 : paul.contrib@gmail.com