c使用SWIG将struct映射到ruby

时间:2010-03-26 10:04:50

标签: ruby swig

是否有任何机构可以确认描述here是否属实?我的经验是我根本不能使用Example::Vector.new

  

C / C ++结构包装为Ruby   类,具有访问方法(即   所有的“getters”和“setters”)   结构成员。例如,这个   结构声明:

struct Vector {
 double x, y;
};
     

包装为Vector类   Ruby实例方法x,x =,y和y =。   这些方法可用于访问   来自Ruby的结构数据如下:

$ irb
irb(main):001:0> require 'Example'
true
irb(main):002:0> f = Example::Vector.new
#<Example::Vector:0x4020b268>
irb(main):003:0> f.x = 10
nil
irb(main):004:0> f.x
10.0

2 个答案:

答案 0 :(得分:0)

解决。我还需要在example.i文件中添加类型定义,只包括.h是不够的。

答案 1 :(得分:0)

您可以尝试CStruct:

gem install CStruct

了解有关rubyforge.org

的更多信息