From: sawadatsuyoshi@... Date: 2021-06-04T08:37:47+00:00 Subject: [ruby-core:104163] [Ruby master Feature#12075] some container#nonempty? Issue #12075 has been updated by sawa (Tsuyoshi Sawada). I want to mention that some of the method names proposed so far would break symmetry. Note that "empty" is a property of the container, not the elements. When you have `a = []; b = [1]`, what is questioned whether it is empty or not is `a` and `b`, but not `1`. Among the words proposed so far, "any" and "some" are not a property of the container, but are a word used together with the elements, e.g., "some element 1". "present" in this respect is also not appropriate because it is a property of the element ("1 is present"), not the container (not "`a` is present"). If the method in question is to be defined as the negation of `empty?`, then its name should be a property of the container. Among the words proposed so far, "non-empty" and "not empty" would work. Another word that comes to mind is "occupied", but it may be too long. ---------------------------------------- Feature #12075: some container#nonempty? https://bugs.ruby-lang.org/issues/12075#change-92338 * 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: