Issue #13581 has been updated by phluid61 (Matthew Kerwin).


sevos (Artur Roszczyk) wrote:
> phluid61 (Matthew Kerwin) wrote:
> > sevos (Artur Roszczyk) wrote:
> > > 
> > > What are your thoughts?
> > 
> > I have two:
> > 
> > 1. As always: do we really need more magic symbols?  I like reading Ruby because it's *not* Perl.
>
> I totally agree, but we still like -> {} syntax for lambdas, right? Let's play with ideas, maybe we can find something nice for a method selector, too ;)
> 

Personally I hate it, and never use it.  I like my code to say `lambda` when I make a Lambda, and (more often) `proc` when I make a Proc.

> > 
> > 2. If you're adding new syntax, you don't have to be clever. Symbol has `:"#{x}"` so why not propose `y:::"#{x}"`? Not that it adds much over `y.method(x)`
> 
> You're totally right! I was looking at triple-colon as an operator taking two arguments. Your idea of looking at this as a double-colon lookup operator is actually great, [...]
>

Actually I was just suggesting a simple token, like `obj:::foo` or `obj.:foo`; if you really want to accept variable method names why not `obj:::"#{x}"` or `obj.:"#{x}"`?

Although I doubt I'd ever use it.

(Personally I find the idea of partially applied methods more useful.)

Cheers

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

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