chemirea/lambda-php

dev-master 2019-12-09 02:33 UTC

This package is auto-updated.

Last update: 2025-07-09 15:45:21 UTC


README

Build Status codecov StyleCI Maintainability MIT License

About

関数志向をサポートするライブラリ

<?php

use Chemirea\Lambda\Lambda as L;

$add = function (int $x, int $y): int {
    return $x + $y;
};

$wrappedAdd = L::wrap($add);

// この様に普通に呼び出せる
$wrappedAdd(1,2); // 3

// この様にカリー化されている
$wrappedAdd(1)(2); // 3

// 上と同じ
$addOne = $wrappedAdd(1);
$addOne(2); // 3


$addTwo = $wrappedAdd(2);

// この様に関数合成をして$addOneの返り値を,
// そのままaddTwoの引数として取る様な関数として定義することができる
$addOneTwo = $addOne->bind($addTwo);

$addOneTwo(1); // 4

install

$ composer require chemirea/lambda-php=dev-master