From: "Eregon (Benoit Daloze)" Date: 2013-08-02T21:35:48+09:00 Subject: [ruby-core:56337] [CommonRuby - Feature #8723][Feedback] Array.any? predicate returns true for empty array. Issue #8723 has been updated by Eregon (Benoit Daloze). Status changed from Open to Feedback Which version do you use? Please add your `ruby -v`. irb for ruby 2.0.0 r36395 > [].any? { true } => false I guess you meant for #all? > [].all? { true } => true The doc says it well: "The method returns true if the block never returns false or nil." Since the block is never used, it is not false or nil, so true. ---------------------------------------- Feature #8723: Array.any? predicate returns true for empty array. https://bugs.ruby-lang.org/issues/8723#change-40830 Author: nurettin (Nurettin Onur TUGCU) Status: Feedback Priority: Normal Assignee: Category: Target version: Are all your children redheaded? Would this be true if you have no children? I have no children, therefore none of my children are redheaded. Therefore [].any?{ true } == true makes no sense. Expected behavior: [].any?{ true } == false because the array is empty. -- http://bugs.ruby-lang.org/