| 1 | <?php |
||
| 11 | trait AccumulateTrait |
||
| 12 | { |
||
| 13 | /** |
||
| 14 | * Returns an iterator that containing accumulated elements |
||
| 15 | * |
||
| 16 | * If the optional $closure argument is supplied, it should be a string: |
||
| 17 | * add, sub, mul, min, or max. Or it can be a Closure taking two |
||
| 18 | * arguments that will be used to instead of addition. |
||
| 19 | * |
||
| 20 | * > iter\iterable([1,2,3,4,5])->accumulate() |
||
| 21 | * 1 3 6 10 15 |
||
| 22 | * |
||
| 23 | * > iter\iterable(['One', 'Two', 'Three'])->accumulate(function ($a, $b) { return $a . $b; }) |
||
| 24 | * 'One' 'OneTwo' 'OneTwoThree' |
||
| 25 | * |
||
| 26 | * @param string|\Closure $closure |
||
| 27 | * @return iter\lib\AccumulateIterator |
||
| 28 | */ |
||
| 29 | 1 | public function accumulate($closure = 'add') |
|
| 33 | } |
||
| 34 |