From: masafumi.o1988@... Date: 2020-11-19T08:15:02+00:00 Subject: [ruby-core:100942] [Ruby master Feature#17333] Enumerable#many? 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: