PHPでclosure
function func($a) {
$y = $a;
return function($x) use (&$y) {
$y += $x;
return $y;
};
}
$f1 = func(3);
print $f1(1); # 4
print $f1(1); # 5
print $f1(1); # 6
print $f1(1); # 7
print $f1(1); # 8
print $y; # error!
function func($a) {
$y = $a;
return function($x) use (&$y) {
$y += $x;
return $y;
};
}
$f1 = func(3);
print $f1(1); # 4
print $f1(1); # 5
print $f1(1); # 6
print $f1(1); # 7
print $f1(1); # 8
print $y; # error!