Ruby parens-free function calls [was Re: Accessing parent objects]

Steven D'Aprano steve+comp.lang.python at pearwood.info
Wed Mar 28 09:28:29 EDT 2018


On Tue, 27 Mar 2018 11:34:17 +1100, Chris Angelico wrote:

> Question: How do you get a reference to a Ruby function? Or are they not
> first-class objects?

https://stackoverflow.com/questions/4294485/how-do-i-reference-a-function-
in-ruby

Especially this answer, which is worth reading:

https://stackoverflow.com/a/4294660

As best I can interpret it, Ruby starts with the premise that functions 
and methods are NOT first-class values -- or rather, since Ruby functions 
are actually methods of Object, there are no functions, only methods, and 
they are not first-class values.

obj.method, despite superficially looking like the same as Ruby's dot 
syntax for attribute access, actually is syntax for calling the method.

In practice, that's not as restrictive as it may seem. Where Python would 
pass a function object to a higher-order function, Ruby would usually 
pass an anonymous block or possibly a Proc.

-- 
Steve




More information about the Python-list mailing list