Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Pipeline {
- public static function make_pipeline(...$funcs) {
- return function($arg) use ($funcs) {
- $result = $funcs[0]($arg);
- for ($i = 1; $i < sizeof($funcs); $i++) {
- $result = $funcs[$i]($result);
- }
- return $result;
- };
- }
- }
- $fun = Pipeline::make_pipeline(function($x) { return $x * 3; }, function($x) { return $x + 1; },
- function($x) { return $x / 2; });
- echo $fun(3); # should print 5
Add Comment
Please, Sign In to add comment