Project

General

Profile

Actions

Feature #14763

closed

Allow more Enumerable methods to accept method names as symbol arguments

Added by sunnyrjuneja (Sunny Juneja) almost 6 years ago. Updated almost 6 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:87051]

Description

Enumerable has a short hand which accepts method names as symbols.

(5..10).reduce(:+) #=> 45

I'm proposing we allow the same functionality for #any?, #all?, #find, #reject, #select, #one?, #find_index. I'm requesting this because when I did this earlier today and it did not meet my expectations:

[2,4,6].all?(:even?) #=> false
  • Any risk of incompatibility?
    I don't believe so. As of now, #any? accepts an argument and compares using ===. The following is current behavior:
[Symbol].any?(:even?) #=> false
[:symbol].any?(:even?) #=> false
[].all?(:even?) #=> true

Thanks for consideration of this request. I've used Ruby for 6 years and this is my first feature request. I understand if it is not a high priority or interesting to the maintainers. I am happy to try to add an implementation if it is interesting.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0