baguette / copipe-iter
Most simple iterators
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-12-21 20:52:19 UTC
README
Most simple iterators.
I do not claim the right for this project. This package is licensed under WTFPL.
API
Generator 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
Generator 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"
Generator 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
array 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]