yuyat/compose

函数组合函数

dev-master 2014-10-01 05:44 UTC

This package is auto-updated.

Last update: 2024-08-25 20:46:25 UTC


README

函数组合函数。

函数组合是函数式编程中常用的技术。
您可以组合任何可调用的对象来构建另一个函数。

此库仅支持PHP 5.6及以上版本。
如果您使用的是其他版本,可以使用igorw/compose

用法

yuyat\compose

调用compose($f, $g, $h)并传递参数$x,等同于$f($g($h($x)))

<?php
use function yuyat\compose;

$splitAsWords = function ($str) {
    return \preg_split('/\s+/u', $str);
};
$camelizeWords = function ($words) {
    return \array_map('ucfirst', $words);
};
$join = function ($words) {
    return \join('', $words);
};
$lowerCamelize = compose('lcfirst', $join, $camelizeWords, $splitAsWords);

echo $lowerCamelize('foo bar baz'); // => "fooBarBaz"

yuyat\pipeline

此函数也组合函数,但参数顺序相反。
函数将按照您的阅读顺序应用。

调用pipeline($f, $g, $h)并传递参数$x,等同于$h($g($f($x)))

作者

Yuya Takeyama