Упражнения по PHP: создание новой функции, которая объединяет несколько функций в один вызываемый
PHP: упражнение 98 с решением
Напишите PHP-программу для создания новой функции, которая объединяет несколько функций в один вызываемый объект.
Пример решения: -
PHP-код:
<?php
//Licence: https://bit.ly/2CFA5XY
function compose(...$functions)
{
return array_reduce(
$functions,
function ($carry, $function) {
return function ($x) use ($carry, $function) {
return $function($carry($x));
};
},
function ($x) {
return $x;
}
);
}
$compose = compose(
// add 2
function ($x) {
return $x + 2;
},
// multiply 4
function ($x) {
return $x * 4;
}
);
print_r($compose(2));
echo("\n");
print_r($compose(3));
?>
Пример вывода:
16 20
Блок - схема:
Редактор кода PHP:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Напишите программу PHP для декапитализации первой буквы строки, а затем добавьте ее вместе с остальной частью строки.
Далее: написать программу PHP, чтобы запоминать заданную функцию в памяти.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code