Guest User

Untitled

a guest
Jan 17th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.50 KB | None | 0 0
  1. <?php
  2. class Pipeline {
  3. public static function make_pipeline(...$funcs) {
  4. return function($arg) use ($funcs) {
  5. $result = $funcs[0]($arg);
  6. for ($i = 1; $i < sizeof($funcs); $i++) {
  7. $result = $funcs[$i]($result);
  8. }
  9. return $result;
  10. };
  11. }
  12. }
  13.  
  14. $fun = Pipeline::make_pipeline(function($x) { return $x * 3; }, function($x) { return $x + 1; },
  15. function($x) { return $x / 2; });
  16. echo $fun(3); # should print 5
Add Comment
Please, Sign In to add comment