From: sean.m.huber@... Date: 2018-12-10T04:12:33+00:00 Subject: [ruby-core:90391] [CommonRuby Feature#13581] Syntax sugar for method reference Issue #13581 has been updated by shuber (Sean Huber). nobu (Nobuyoshi Nakada) wrote: > shuber (Sean Huber) wrote: > > What do you guys think about this alternative syntax? (working proof of concept: https://github.com/LendingHome/pipe_operator) > > It conflicts with existing `|` methods. > > ```ruby > p 1.|2 #=> 3 > ``` @nobu That's just an alias for syntactic sugar - the actual method is named `__pipe__`! My thinking was that it's pretty similar to how we commonly use `send` (which can have conflicts in certain domains e.g. delivery services) but it's actually an alias of `__send__` which is double underscored to avoid conflicts. Some objects may have their own definitions of `|` but we always have `pipe` or `__pipe__` available to remove any ambiguity. Does that make sense? def __pipe__(*args, &block) Pipe.new(self, *args, &block) end alias | __pipe__ alias pipe __pipe__ ---------------------------------------- Feature #13581: Syntax sugar for method reference https://bugs.ruby-lang.org/issues/13581#change-75515 * 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: