1
我正在使用SWIG在Ruby中包裝C接口。鑑於兩個結構從C與SWIG使用Ruby塊
typedef struct Vertex {
int color, discoverd, finished;
struct Vertex *next;
} Vertex;
typedef struct Graph {
struct Vertex *vertex;
} Graph;
我怎麼可以創建一個#each
方法,它生成當前頂點,這樣我就可以在Ruby中處理它。目前我的SWIG接口文件包含類似於
%extend Graph {
void each() {
Vertex *v;
v = self->vertex;
while(v) {
rb_yield(Qnil); // how do I yield a vertex?
v = v->next;
}
}
};
在此先感謝您的幫助。
--t6d