How to define multiple initialize methods in embedded mode?

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<VALUE()(…)>(defaultInitialize), 0);
// Define “initialize” method with one parameter
rb_define_method(mMyClass, “initialize”,
reinterpret_cast<VALUE(
)(…)>(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.

On 3/10/08, Chirag M. [email protected] wrote:

mMyClass = rb_define_class_under(mMyModule, “MyClass”, rb_cObject);
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/