Advertisement
Guest User

Untitled

a guest
May 26th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. <?php
  2. class Pipeline
  3. {
  4. public static function make_pipeline()
  5. {
  6. # method harus menerima beberapa call function
  7. $args = func_get_args();
  8. # nilai kembaliannya harus function baru (1 param)
  9. # aksesnya menggunakan use
  10. $function = function($arg) use ($args)
  11. {
  12. # loop buat beberapa function
  13. foreach($args as $function) {
  14. # cek pake isset dulu
  15. if(!isset($value))
  16. $value = $function($arg);
  17. # jika masuk else akan menggunakan nilai yang disimpan dan meresetnya secara bersamaan
  18. else
  19. $value = $function($value);
  20. }
  21. # return value yg update.
  22. return $value;
  23. };
  24. # balikin anonym function td.
  25. return $function;
  26. }
  27. }
  28.  
  29. $fun = Pipeline::make_pipeline(function($x) { return $x * 3; }, function($x) { return $x + 1; },
  30. function($x) { return $x / 2; });
  31. echo $fun(3); # should print 5
  32.  
  33. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement