From: Shyouhei Urabe Date: 2011-09-26T11:19:36+09:00 Subject: [ruby-core:39718] [Ruby 1.9 - Feature #5364][Feedback] How about new syntax: "object.\method" returns a Method instance? Issue #5364 has been updated by Shyouhei Urabe. Status changed from Open to Feedback We need a needs fot this syntax. I don't reject it right now, because there's a room for someone to find a real use case for it. Through personally I'm skeptical about existance of such thing. ---------------------------------------- Feature #5364: How about new syntax: "object.\method" returns a Method instance? http://redmine.ruby-lang.org/issues/5364 Author: Joey Zhou Status: Feedback Priority: Normal Assignee: Category: core Target version: I'm afraid the normal way of creating a Method instance is circuitous and a bit hard to write: a_method = object.method(:method_name) I find the way of obtaining a function/method object in Python is so easy, for example, "str.split()" returns a list, while "str.split" (without parentheses) returns a method object. However, parenthesis in Ruby is always optional, so this road is blocked. Well, how about "object.\method" style? You can type "str.\split" to get "str.method(:split)". The reasons are: 1. It makes people happy, writing less code, and no harm to readability. 2. "\" is not a frequently used token. It can only be used in strings, regexps (or any else?). I think using this token leads to no ambiguity. 3. "\" is like Perl's referrence symbol. In Perl, you can use "$f = \&func;" to make a referrence to the function. In Ruby, "&" seems unnecessary. 4. It enhances the consistency of the language syntax. There are two correlative methods "Object#send" and "Object#method", but... str.send(:split) == str.split str.method(:split) == ??????? If adding this new syntax, it looks more pretty: str.method(:split) == str.\split -- http://redmine.ruby-lang.org