From: shevegen@... Date: 2018-05-16T03:15:56+00:00 Subject: [ruby-core:87054] [Ruby trunk Feature#14763] Allow more Enumerable methods to accept method names as symbol arguments 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: