
Untitled
By: a guest on
Aug 8th, 2012 | syntax:
PHP | size: 0.57 KB | hits: 7 | expires: Never
<?php
class Curry
{
static public $fn; // fix scope
static public $arg1; // fix scope
static public function currify($fn)
{
Curry::$fn = $fn; // fix scope
return function($arg1) {
Curry::$arg1 = $arg1; // fix scope
return function($arg2) {
$fn = Curry::$fn; // fix no soporta Curry::$fn()
return $fn(Curry::$arg1, $arg2);
};
};
}
}
function sum($arg1, $arg2) {
return $arg1 + $arg2;
}
$curry = Curry::currify('sum');
$curry = $curry(3); // fix no soporta fn()()
var_dump(
array_map(
$curry,
array(3, 4, 1, 8, 17)
)
);