From: Rick DeNatale Date: 2008-03-10T20:31:17+09:00 Subject: Re: How to define multiple initialize methods in embedded mode? On 3/10/08, Chirag Mistry wrote: > Hi > > I have embedded Ruby in C++ application. I want to define multiple > "initialize" method in the Ruby class. Please let me know which sequence > of call is required to implement it? I tried following sequence of call > but it is not working. It only defines last "initialize" method. > > Code snapshot: > #################### > // Define class under "MyModule" module > mMyClass = rb_define_class_under(mMyModule, "MyClass", rb_cObject); > rb_gc_register_address(&mMyClass); > // Define "initialize" method without any parameter > rb_define_method(mMyClass, "initialize", > reinterpret_cast(defaultInitialize), 0); > // Define "initialize" method with one parameter > rb_define_method(mMyClass, "initialize", > reinterpret_cast(initialize1), 1); > #################### > > In above code, it is only calling "initialize1" which accepts single > parameter. Please let me know what is wrong in above code snapshot and > correct it so I can define more than one "initialize" method in same > class. It can't be done. Ruby doesn't have the concept of overloading. -- Rick DeNatale My blog on Ruby http://talklikeaduck.denhaven2.com/