[ruby-core:109615] [Ruby master Feature#12075] some container#nonempty?
From:
"dsisnero (Dominic Sisneros)" <noreply@...>
Date:
2022-08-21 18:22:10 UTC
List:
ruby-core #109615
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: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>