Feature #3753: value of def-expr
http://redmine.ruby-lang.org/issues/show/3753

起票者: Usaku NAKAMURA
ステータス: Open, 優先度: Normal

RubyKaigi見てて思い出したのですが、def式はSymbolを返すようにしませんか?
そうすると、

class Foo
  private def foo()
    # ...
  end
end

などと書けるようになります。

以下パッチ。
Index: vm.c
===================================================================
--- vm.c	(リビジョン 29124)
+++ vm.c	(作業コピー)
@@ -1893,7 +1893,7 @@ m_core_define_method(VALUE self, VALUE c
     REWIND_CFP({
 	vm_define_method(GET_THREAD(), cbase, SYM2ID(sym), iseqval, 0, rb_vm_cref());
     });
-    return Qnil;
+    return sym;
 }
 
 static VALUE
@@ -1902,7 +1902,7 @@ m_core_define_singleton_method(VALUE sel
     REWIND_CFP({
 	vm_define_method(GET_THREAD(), cbase, SYM2ID(sym), iseqval, 1, rb_vm_cref());
     });
-    return Qnil;
+    return sym;
 }
 
 static VALUE


----------------------------------------
http://redmine.ruby-lang.org