m***@ruby-lang.org
2021-06-04 06:04:01 UTC
Issue #12075 has been updated by mame (Yusuke Endoh).
I like `Array#some?` and `Hash#some?`. It is so frequent to write `!ary.empty?`.
I think the main concern is only about `empty?`, not other predicate methods. So I'm skeptural about the need of the generalization like `ary.not(:empty?)`. I don't like it very much because it is longer and slower than the dedicated method.
----------------------------------------
Feature #12075: some container#nonempty?
https://bugs.ruby-lang.org/issues/12075#change-92337
* 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-***@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mai
I like `Array#some?` and `Hash#some?`. It is so frequent to write `!ary.empty?`.
I think the main concern is only about `empty?`, not other predicate methods. So I'm skeptural about the need of the generalization like `ary.not(:empty?)`. I don't like it very much because it is longer and slower than the dedicated method.
----------------------------------------
Feature #12075: some container#nonempty?
https://bugs.ruby-lang.org/issues/12075#change-92337
* 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-***@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mai