Issue #14763 has been updated by shevegen (Robert A. Heiler).


Is there any reason why you did use ":even?" rather
than ":even"?

    [2,4,6].all?(:even)

To me symbols with a question mark seem somewhat unusual
or rare.

However had, my question is mostly a small detail, in my
opinion, not the bigger picture. I understand the intent
of the code e. g. query ruby for all even/odd numbers,
through the use of a Symbol.

I am mostly neutral on the proposal itself and slightly in 
favour, primarily because I like symbols and I think there 
is no problem with it. It should, if accepted, be documented
somewhere though.

My suggestion would be to have matz decide on it soon, simply
so that you can know whether matz is in favour or against it.

I would not worry about the priority - there have been lots of
cases where low priority issues have been added/implemented.

If you would like to, you could add your issue at:

https://bugs.ruby-lang.org/issues/14698

And someone can mention it for discussion at the 
developer meeting. That is one of the best ways
to ask matz directly. :)

(I myself won't suggest your issue request because I 
think that it is your suggestion, so you should be
in full control over as to whether you want to have
it discussed or not, not me.)

By the way, there have been proposals accepted that
re-use Symbols meaning. 

https://github.com/ruby/ruby/blob/trunk/NEWS

See the various Kernel.# methods that use :exception.

I think there is nothing wrong with such special 
meanings; just that it should be documented, so 
that ruby hackers can know what to use.

----------------------------------------
Feature #14763: Allow more Enumerable methods to accept method names as symbol arguments
https://bugs.ruby-lang.org/issues/14763#change-72014

* Author: sunnyrjuneja (Sunny Juneja)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
Enumerable has a short hand which accepts method names as symbols.

```ruby
(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:

```ruby
[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:

```ruby
[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.



-- 
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>