<?php
function map_impl($arr, $f, $idx)
{
}
function map($arr, $f)
{
return map_impl
($arr, $f, range(0, count($arr) - 1)); }
function MyFunctor($arg)
{
};
function main()
{
$arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
$arrMappedFunctor = map($arr, "MyFunctor");
$arrMappedLambda = map
($arr, function($x) { return floatval($x * $x) / 2.0; });
foreach ($arrMappedFunctor as $x) {
}
echo PHP_EOL;
foreach ($arrMappedLambda as $x) {
}
echo PHP_EOL;
return 0;
}
main();
PD9waHAgCgpmdW5jdGlvbiBtYXBfaW1wbCgkYXJyLCAkZiwgJGlkeCkKewogICAgcmV0dXJuIGFycmF5X21hcCgkZiwgYXJyYXlfaW50ZXJzZWN0X2tleSgkYXJyLCAkaWR4KSk7Cn0KCmZ1bmN0aW9uIG1hcCgkYXJyLCAkZikKewogICAgcmV0dXJuIG1hcF9pbXBsKCRhcnIsICRmLCByYW5nZSgwLCBjb3VudCgkYXJyKSAtIDEpKTsKfQoKZnVuY3Rpb24gTXlGdW5jdG9yKCRhcmcpCiAgICB7CiAgICAgICAgcmV0dXJuIGZsb2F0dmFsKCRhcmcgKiAkYXJnKSAvIDIuMDsKICAgIH07CgpmdW5jdGlvbiBtYWluKCkKewogICAgJGFyciA9IEFycmF5KDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwKTsKCiAgICAkYXJyTWFwcGVkRnVuY3RvciA9IG1hcCgkYXJyLCAiTXlGdW5jdG9yIik7CiAgICAkYXJyTWFwcGVkTGFtYmRhID0gbWFwKCRhcnIsIGZ1bmN0aW9uKCR4KSB7IHJldHVybiBmbG9hdHZhbCgkeCAqICR4KSAvIDIuMDsgfSk7CgogICAgZm9yZWFjaCAoJGFyck1hcHBlZEZ1bmN0b3IgYXMgJHgpIHsKICAgICAgICBlY2hvIHN0cnZhbCgkeCkgLiAnICc7CiAgICB9CiAgICBlY2hvIFBIUF9FT0w7CiAgICBmb3JlYWNoICgkYXJyTWFwcGVkTGFtYmRhIGFzICR4KSB7CiAgICAgICAgZWNobyBzdHJ2YWwoJHgpIC4gJyAnOwogICAgfQogICAgZWNobyBQSFBfRU9MOwogICAgcmV0dXJuIDA7Cn0KCm1haW4oKTsK