Closed sukobuto closed 9 years ago
flatMap のセレクタで空のリストを返却すると、その時点でシーケンスが中断されてしまいます。
空のリストがない場合は
Ginq::from(['a' => 2, 'b' => 3, 'c' => 4, 'd' => 5]) ->flatMap(function($times, $key) { return Ginq::repeat($key, $times); });
以下のように正常に出力されます。
[ '0' => "a", '1' => "a", '2' => "b", '3' => "b", '4' => "b", '5' => "c", '6' => "c", '7' => "c", '8' => "c", '9' => "d", '10' => "d", '11' => "d", '12' => "d", '13' => "d", ]
空のリストが含まれる場合
Ginq::from(['a' => 2, 'b' => 0, 'c' => 4, 'd' => 5]) ->flatMap(function($times, $key) { return Ginq::repeat($key, $times); });
以下のように後続の要素が無視されてしまいます。
[ '0' => "a", '1' => "a", ]
flatMap のセレクタで空のリストを返却すると、その時点でシーケンスが中断されてしまいます。
空のリストがない場合は
以下のように正常に出力されます。
空のリストが含まれる場合
以下のように後続の要素が無視されてしまいます。