From: "sawa (Tsuyoshi Sawada)" Date: 2021-10-07T00:51:34+00:00 Subject: [ruby-core:105584] [Ruby master Feature#12075] some container#nonempty? Issue #12075 has been updated by sawa (Tsuyoshi Sawada). knu (Akinori MUSHA) wrote in #note-33: > [...]`size?` [...] explicitly says it would check the size, which means it is essentially equivalent to `size > 0` While this might make sense in JavaScript, given that `0` is truthy in Ruby, I do not agree with this opinion. I think the most natural definition of such method `size?` would be mapping of `size` to boolean values, which would be `true` in Ruby as long as `size` is defined (numeric), even when it is `0`. ---------------------------------------- Feature #12075: some container#nonempty? https://bugs.ruby-lang.org/issues/12075#change-94054 * 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: