示例#1
0
 public function testFlatMap()
 {
     $seq = new Sequence();
     $seq->addAll([new Some('a'), new Some('b'), None::create(), new Some('c')]);
     $this->assertEquals(['aA', 'bA', 'cA'], iterator_to_array($seq->flatMap(function ($x) {
         return $x->map(function ($v) {
             return $v . 'A';
         });
     })));
     $seq = new Sequence();
     $seq->addAll([[1, 2, 3, 4], [5, 6], [7]]);
     $this->assertEquals([2, 3, 4, 5, 6, 7, 8], iterator_to_array($seq->flatMap(function ($x) {
         return array_map(function ($v) {
             return $v + 1;
         }, $x);
     })));
 }