Project

General

Profile

Feature #3753

Updated by yhara (Yutaka HARA) over 11 years ago

=begin 
  
  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 
 
 =end 
 

Back