4
我有一個處理兩種類型的函數:NVector
和NMatrix
;前者來源於後者。這個函數基本上是一個專門的拷貝構造函數。我希望它返回與它被調用的對象類型相同的對象,因此,NVector
返回NVector
,而不是NMatrix
。如何獲取C中的Ruby對象的類?
static VALUE nm_init_modifiedcopy(VALUE self) {
// ... some code ...
// formerly, I had cNMatrix where klass is. But it could also be cNVector!
return Data_Wrap_Struct(klass, mark_func, delete_func, unwrapped_self_copy);
}
如何獲取對象的類屬性傳遞到Data_Wrap_Struct
?
「就像發條一樣,只要我問一個關於Stackoverflow的問題,我就找到了答案。」我們從多蘿西那裏學到了什麼? :-)當SO允許時給自己選擇的答案。 –
我認爲接受的方法是rb_class_of(CLASS_OF只是一個圍繞該函數的宏) –