From: "dsisnero (Dominic Sisneros)" Date: 2022-08-21T18:22:10+00:00 Subject: [ruby-core:109615] [Ruby master Feature#12075] some container#nonempty? Issue #12075 has been updated by dsisnero (Dominic Sisneros). Some container, chain, and non empty . I think rust, and Haskell, and Scala, and others have a name and solution for what we are trying to add to ruby haphazardly, Monad and Container classes like Option, and Result, and Task, and List. Why not just add fmap method that returns the same type of container? Hash#fmap ->. Hash Array#fmap -> Array Option fmap -> Option Result fmap -> Result ---------------------------------------- Feature #12075: some container#nonempty? https://bugs.ruby-lang.org/issues/12075#change-98799 * 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: