C
Chirag Mistry
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.
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.