baguette / copipe-iter
最简单的迭代器
0.0.4
2017-04-30 07:30 UTC
Requires
- php: >=5.5.0
Requires (Dev)
- phpunit/phpunit: ^4.8|^5.5
This package is not auto-updated.
Last update: 2024-09-14 19:19:55 UTC
README
最简单的迭代器。
我并不声称对该项目的权利。此软件包受 WTFPL 许可。
API
生成器 map(iterable $iter, callable $callback)
$data = [1, 2, 3]; $twice = function ($n) { return $n * 2; }; foreach (map($data, $twice) as $a) { echo $a, PHP_EOL; } // [output] 2, 4, 6
生成器 map_kv(iterable $iter, callable $callback)
$data = ['apple', 'orange', 'strawberry']; $deco = function ($k, $v) { return "{$k}: $v"; }; foreach (map_kv($data, $deco) as $a) { echo $a, PHP_EOL; } // [output] "1: apple", "2: orange", "3: strawberry"
生成器 take(iterable $iter, int $n)
$data = range(1, 100); foreach (take($data, 5) as $a) { echo $a, PHP_EOL; } // [output] 1, 2, 3, 4, 5
数组 to_array(iterable $iter)
$fib = function () { $n = 0; yield $n; $m = 1; yield $m; while (true) { $c = $n + $m; yield $c; $n = $m; $m = $c; } }; $fib_10 = to_array(take($fib(), 10)); //=> [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]