加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php – HACK Lambda示例 – 什么?

发布时间:2020-05-26 16:01:50 所属栏目:PHP 来源:互联网
导读:谁能解释一下这是如何工作的? http://docs.hhvm.com/manual/en/hack.lambda.php 变量是自动和可传递的(包括$this): ?hh$z = 11;$foo = $x == $y == $x * $z + $y;$bar = $foo(5);var_dump($bar(4)); // outputs 59 从概念上讲,$foo就像一个具有2个输

谁能解释一下这是如何工作的?

http://docs.hhvm.com/manual/en/hack.lambda.php

变量是自动和可传递的(包括$this):

<?hh
$z = 11;
$foo = $x ==> $y ==> $x * $z + $y;
$bar = $foo(5);
var_dump($bar(4)); // outputs 59
从概念上讲,$foo就像一个具有2个输入x和y的函数.调用$foo就像是设置x = 5的部分函数评估. $bar调用然后用y = 4计算函数.所以你最终得到x * z y = 5 * 11 4 = 59.

换句话说,$foo是一个lambda,它评估另一个lambda.所以$bar成为一个评估为数字的lambda.

$z = 11

$foo = $x ==> $y ==> $x * $z + $y;
// foo = f(x,y,z) = x * z + y

$bar = $foo(5);                 // $bar is now $y ==> 5 * $z + $y
// bar = f(y,z) = 5 * z + y

$result = $bar(4);              // this gives you 5 * $z + 4 = 59
// result = f(z) = 5 * z + 4

var_dump(result);               // outputs 59

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读