Issue #7998 has been updated by Hiroshi SHIBATA.

Status changed from Open to Closed

def method return symbol on Ruby 2.1 or later.

----------------------------------------
Feature #7998: "def" should return a value (the symbol of the method name) instead of nil
https://bugs.ruby-lang.org/issues/7998#change-48346

* Author: Peter Marreck
* Status: Closed
* Priority: Normal
* Assignee: 
* Category: 
* Target version: next minor
----------------------------------------
The C code that implements Ruby method definitions already creates a symbol corresponding to the method name.

I propose that the "def... end" block returns this symbol.

This would allow the following elegant Ruby code:

protected def foo(); end

private def bar(); end

since "protected" and "private" already take symbol arguments.

I estimate that this would be extremely easy to implement while creating extremely minimal existing code impact.

I proposed this idea to the #ruby IRC channel on freenode.net and it was received very well, they encouraged me to file this ticket! Thank you for considering.



-- 
https://bugs.ruby-lang.org/