public function testSelfReference() { $a = LINQ::Linq(array(1, 2, 3, 4, 5)); $i = $a->Zip($a, function ($i, $j) { return $i . ":" . $j; }); $this->AssertIteratorsEqual($i, array("1:1", "2:2", "3:3", "4:4", "5:5")); }
public function Concat($list) { $currentiterfunc = $this->getIteratorFunction; $newiterfunc = function () use($currentiterfunc, $list) { $concatarr = array($currentiterfunc(), $list); $newlist = LINQ::Linq($concatarr); return $newlist->SelectMany(function ($i) { return $i; }); }; return new LinqIterator($newiterfunc); }