[#100689] [Ruby master Feature#17303] Make webrick to bundled gems or remove from stdlib — hsbt@...
Issue #17303 has been reported by hsbt (Hiroshi SHIBATA).
11 messages
2020/11/02
[#100852] [Ruby master Feature#17326] Add Kernel#must! to the standard library — zimmerman.jake@...
Issue #17326 has been reported by jez (Jake Zimmerman).
24 messages
2020/11/14
[#100930] [Ruby master Feature#17333] Enumerable#many? — masafumi.o1988@...
Issue #17333 has been reported by okuramasafumi (Masafumi OKURA).
10 messages
2020/11/18
[#101071] [Ruby master Feature#17342] Hash#fetch_set — hunter_spawn@...
Issue #17342 has been reported by MaxLap (Maxime Lapointe).
26 messages
2020/11/25
[ruby-core:100942] [Ruby master Feature#17333] Enumerable#many?
From:
masafumi.o1988@...
Date:
2020-11-19 08:15:02 UTC
List:
ruby-core #100942
Issue #17333 has been updated by okuramasafumi (Masafumi OKURA).
> Now, many? has at most as less motivation as one? has. It must be backed up by use cases. What are its use cases?
I agree. So here are some insights.
https://grep.app/search?q=%5C.many%5C%3F®exp=true&filter[lang][0]=Ruby&filter[lang][1]=HTML%2BERB
This link shows there are more than 100 usages of `Enumerable#many?` from `ActiveSupport` on GitHub.
Although not all of them is actual use cases (some are documentation or test), some gem authors already use `many?`.
https://grep.app/search?q=%5C.count%20%5C%7B.%2A%5C%7D%20%5C%3E®exp=true&filter[lang][0]=Ruby&filter[lang][1]=HTML%2BERB
The link above shows some developers use `count {} > 1`, which will be replaced by `many?` method.
----------------------------------------
Feature #17333: Enumerable#many?
https://bugs.ruby-lang.org/issues/17333#change-88597
* Author: okuramasafumi (Masafumi OKURA)
* Status: Open
* Priority: Normal
----------------------------------------
`Enumerable#many?` method is implemented in ActiveSupport.
https://api.rubyonrails.org/classes/Enumerable.html#method-i-many-3F
However, it's slightly different from Ruby's core methods such as `one?` or `all?`, where they take pattern argument.
I believe these methods should behave the same so that it's easier to guess and learn.
We already have `none?`, `one?`, `any?` and `all?`, which translate into `== 0`, `== 1`, `> 0` and `== self.size`.
`many?` method translates into `> 1`, which is reasonable to exist.
Currently we need to write something this:
```ruby
[1, 2, 3].count(&:odd?) > 1
```
With `many?`, we can make it simpler:
```ruby
[1, 2, 3].many?(&:odd?)
```
--
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>