要从我的库中初始化一个类,我正在这样做:
VALUE obj = rb_funcall(rb_path2class("MyGem::ClassName"),
rb_intern("new"), 2, arg1, arg2);
感觉很多样板代码都可以压缩成一个宏,比如:
VALUE obj = CLASS_INIT("MyGem::ClassName", 2, arg1, arg2)
或者这只是我必须自己写的东西,如果它让我如此困扰,重复 funcall、path2class 和实习生?