Beispiel #1
0
 public function test_return()
 {
     $countArgs = function () {
         return func_num_args();
     };
     $this->assertInstanceOf(Closure, P\ternary($countArgs), 'ternary should return a closure');
     $this->assertEquals(3, P\ternary($countArgs)->__invoke(1, 2, 3, 4), 'ternary should eat all but three arguments');
 }
Beispiel #2
0
 public function test_scenario_tupleMaker($array = [1, 2, 3, 4])
 {
     // Test to see if we can fix array_map through starling to get the key with the value
     $kvTupple = function ($v, $k) {
         return [$k, $v];
     };
     $kvMap = P\curry(3, P\ternary('array_map'))->__invoke($kvTupple);
     $this->assertEquals(array_map($kvTupple, $array, array_keys($array)), P\S($kvMap, 'array_keys')->__invoke($array));
 }
Beispiel #3
0
:
    </p>
    <ul>
        <?php 
$keyPairs = P\flip(P\binary('array_walk'))->__invoke(function ($value, $key) {
    echo "<li>{$key} &DoubleRightArrow; {$value}</li>" . PHP_EOL;
});
$keyPairs(testData);
?>
    </ul>
</section>
<section>
    <h2>Thrill as I convert this Hash Array to an array of Tupples!</h2>
    <p>
        <?php 
$tupleMaker = P\S(P\ternary('array_map')->__invoke(function ($val, $key) {
    return [$key, $val];
}), 'array_keys');
$testDataAsTuple = $tupleMaker(testData);
?>
        <?php 
echo $jsonTestData;
?>
 &mdash;$map(x, y -> [y,x])&rightarrow;
        <?php 
echo json_encode($testDataAsTuple);
?>
    </p>
    <p>And to show why I picked these numbers</p>
    <ul>
        <?php