From: zverok.offline@... Date: 2018-11-15T08:42:45+00:00 Subject: [ruby-core:89804] [CommonRuby Feature#13581] Syntax sugar for method reference Issue #13581 has been updated by zverok (Victor Shepelev). @nobu > If `.:` will be introduced, I think it should obey that syntax too, and allowing it without the receiver feels confusing. Can you please show some example of confusing statements? I can't think of any from the top of my head, it seems that (if the parser can handle it), the context for `.:something` and `.something` is always clearly different. I am concerned about receiver-less version because in our current codebase we found this idiom to be particularly useful: ```ruby # in a large data-processing class some_input .compact .map(&method(:process_item)) # it is private method of current class .reject(&method(:spoiled?)) .tap(&method(:pp)) # temp debugging statement .group_by(&method(:grouping_criterion)) .yield_self(&method(:postprocess)) # which I'd be really happy to see as some_input .compact .map(&.:process_item) .reject(&.:spoiled?) .tap(&.:pp) .group_by(&.:grouping_criterion) .then(&.:postprocess) ``` Having to explicitly state `map(&self.:process_item)` is much less desirable. ---------------------------------------- Feature #13581: Syntax sugar for method reference https://bugs.ruby-lang.org/issues/13581#change-74868 * Author: americodls (Americo Duarte) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- Some another programming languages (even Java, in version 8) has a cool way to refer a method as a reference. I wrote some examples here: https://gist.github.com/americodls/20981b2864d166eee8d231904303f24b I miss this thing in ruby. I would thinking if is possible some like this: ~~~ roots = [1, 4, 9].map &Math.method(:sqrt) ~~~ Could be like this: ~~~ roots = [1, 4, 9].map Math->method ~~~ What do you guys thinking about it? -- https://bugs.ruby-lang.org/ Unsubscribe: