Returns an iterator which will return the elements mapped by
the supplied functions or the original if no function is supplied.
public projectionIterator ( Traversable $iterator, callable $keyProjectionFunction = null, callable $valueProjectionFunction = null ) : Pinq\Iterators\IWrapperIterator | ||
$iterator | Traversable | |
$keyProjectionFunction | callable | |
$valueProjectionFunction | callable | |
Résultat | Pinq\Iterators\IWrapperIterator |
private function mapIterator(callable $function = null) { if ($function === null) { return $this->elements; } else { return $this->scheme->projectionIterator($this->elements, null, $function); } }
/** * @dataProvider orderedMaps */ public function testThatOrderedMapUsesTheLastValueForAnAssociatedKey(IOrderedMap $orderedMap, IIteratorScheme $scheme) { $iterator = $scheme->projectionIterator($scheme->arrayIterator(range(0, 10)), function () { return null; }, null); $orderedMap = $scheme->createOrderedMap($iterator); $this->assertCount(1, $orderedMap); $this->assertSame(10, $orderedMap[null]); }