akanehara/ginq

Closure未指定のany()メソッドが例外吐く

ritalin opened this issue · 4 comments

ソース見て、なんとなくそんな気はしてたけど、
\Ginq::from([])->any()
エラーになるね、これ。

...
#2 {main}
  thrown in D:\work\tests\php\Ginq\Predicate\PredicateParser.php on line 34

Fatal error: Uncaught exception 'InvalidArgumentException' with message ''predicate' callable expected, got NULL'
...

ちなみに期待した結果は、false

Linqにおいては、

any() => any(function($v) { return true; })

のような感じで振舞う(はず)

+1

空かそうでないかだけ知りたいとき手間要らずで最速なわけですねなるほど

そゆこと
サイズ > 0だと、イテレーター最後までまわさなきゃならないからね。
配列化してれば、心配ないかもだけど、その場合でも、any()の方が意図を示しているので、やはりサイズ > 0は使わないかな