Closure未指定のany()メソッドが例外吐く
ritalin opened this issue · 4 comments
ritalin commented
ソース見て、なんとなくそんな気はしてたけど、
\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
ritalin commented
Linqにおいては、
any() => any(function($v) { return true; })
のような感じで振舞う(はず)
okinaka commented
+1
akanehara commented
空かそうでないかだけ知りたいとき手間要らずで最速なわけですねなるほど
ritalin commented
そゆこと
サイズ > 0だと、イテレーター最後までまわさなきゃならないからね。
配列化してれば、心配ないかもだけど、その場合でも、any()の方が意図を示しているので、やはりサイズ > 0は使わないかな