嗨。我正在研究Ruby C++擴展,我有以下函數,其中「self」對象是結構類型或Exception類型。如何在Ruby擴展C++中獲取確切類型的對象?
VALUE myFunction(VALUE self, VALUE args)
{
// Some functon call and process on args argument
}
現在,在上面的函數我需要知道對象的「自我」的確切類型(即rb_eException或rb_cStruct) 我使用以下API試過,
if(Qtrue == rb_obj_is_kind_of(self, rb_eException))
{
std::cout<<"self is of rb_eException type "<<std::endl;
}
像以上對rb_cStruct ,rb_cClass等,但我只獲得「rb_cClass」類型的Qtrue。 如何獲得「自我」對象的確切類型(即rb_cStruct或rb_eException)? 在此先感謝。
這不是C(顯然是C++)。 –
抱歉,錯誤。你的C++。 – BSalunke