Example #1
0
File: arr.php Project: tapiau/muyo
 /**
  * @param array|callable $array_getter
  * @param callable $iterators_getter WARNING: it's just a callable to chain on
  * @return callable
  */
 function array_chain_dg($array_getter, $iterators_getter)
 {
     $args = func_get_args();
     $array_getter = callablize(array_shift($args));
     $iterators_getters = $args;
     return function () use($array_getter, $iterators_getters) {
         $args = func_get_args();
         $array = call_user_func_array($array_getter, $args);
         $ret = call_user_func_array('array_chain', array_merge(array($array), $iterators_getters));
         return $ret;
     };
 }
Example #2
0
File: misc.php Project: tapiau/muyo
 /**
  * @param mixed $value
  * @return callable
  */
 function callablize_dg($value)
 {
     return function () use($value) {
         return callablize($value);
     };
 }
Example #3
0
 /**
  * @param string|callable $directory_getter
  * @return callable
  */
 function chdir_dg($directory_getter)
 {
     $directory_getter = callablize($directory_getter);
     return function () use($directory_getter) {
         $args = func_get_args();
         $directory = call_user_func_array($directory_getter, $args);
         debug_enforce(chdir($directory), "Could not change working directory to '{$directory}'");
     };
 }