Issue #13581 has been updated by nobu (Nobuyoshi Nakada).


mpapis (Michal Papis) wrote:
> Not sure it's worth it - but while we are at this thinking of a shorthand one of the proposals `&Math&>sqrt` made me think if it could be automated and all the iterators could recognize methods and we could avoid the initial `&` to this `map(Math...)` - skipped the operator as it's not clear what's preferred.

It can't distinguish passing block and passing `Method` object.

> My two cents to the operator - what about `!` and `@` would they conflict? (yes for the Kernel, not sure about Class'es).

`Math!sqrt` and `Math@sqrt`?
They are valid syntax now.

You can try with `ruby -c`.

```
$ ruby -wc -e 'Math!sqrt'
Syntax OK

$ ruby -wc -e 'Math@sqrt'
Syntax OK
```

They are interpreted as a method call without a receiver, `Math(!sqrt)` and `Math(@sqrt)` respectively.


----------------------------------------
Feature #13581: Syntax sugar for method reference
https://bugs.ruby-lang.org/issues/13581#change-70116

* 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: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>