我想在 C extention 中抛一个自定义的 exception 到 ruby 中。但是这个 exception 我想定义在 ruby 代码里。
到底能不能 Ruby C extension 中引用 ruby 代码的对象啊,资料真不好找啊。
@luikore 点名活字典来支持一下.!
假设有这样一个 exception,Bar::FooError
VALUE mBar = rb_const_get(rb_cObject, rb_intern("Bar")); VALUE eFoo = rb_const_get(mBar, rb_intern("FooError")); rb_raise(eFoo, "bazinga");
#2 楼 @kenshin54 赞。搞定了。thanks