From: "gotoken (Kentaro Goto)" Date: 2021-08-18T13:21:24+00:00 Subject: [ruby-core:104967] [Ruby master Feature#12075] some container#nonempty? Issue #12075 has been updated by gotoken (Kentaro Goto). Boolean `size?` looks good to me. I vote for it. My first choice was `nonempty?` because this is very common word in popular algorithm text books, e.g., Knuth, Cormen, Sedgewick, Tarjan, Aho, Hopcroft, etc. However some people pointed `if array.nonempty?` looks negative and does not improve `if !array.empty?`. They don't want to write negative condition there. I can agree that. `filled?` also makes me mind capacity of the container and it is misleadings. IMHO. `some?` is cool but we have already `any?`. These are very confusing. `not( ... )` is quite general idea, and it seems to need too complicated discussions for this simple feature request. Neither `not` method does not meet avoidance negation. ---------------------------------------- Feature #12075: some container#nonempty? https://bugs.ruby-lang.org/issues/12075#change-93332 * Author: naruse (Yui NARUSE) * Status: Feedback * Priority: Normal * Assignee: matz (Yukihiro Matsumoto) ---------------------------------------- I sometimes write following code. ```ruby ary = some_metho_returns_nil_or_empty_container() # nil or "" or [] or {} if ary && !ary.empty? # some code end ``` But the condition `ary && !ary.empty?` is too long and complex. Though Ruby 2.3 introduces `&.`, but this can���t be written as `ary&.empty?`. One idea is add `nonempty?` write as `ary&.nonempty?`. akr: `nonempty?` is not good name because human is not good at handling This discussion matches following core classes: * String * Array * Hash -- https://bugs.ruby-lang.org/ Unsubscribe: