c структурировать карту в ruby, используя SWIG - PullRequest
0 голосов
/ 26 марта 2010

Есть ли тело, которое может подтвердить описание здесь верно Мой опыт показывает, что я не могу использовать Example::Vector.new вообще.

Структуры C / C ++ упакованы как Ruby классы, с методами доступа (т.е. "добытчики" и "сеттеры") для всех члены структуры. Например, это объявление структуры:

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 голосов
/ 07 декабря 2010

Вы можете попробовать CStruct:

gem install CStruct

Подробнее на rubyforge.org

0 голосов
/ 26 марта 2010

решаемая. Мне также нужно добавить определение типа в файл example.i, просто включить .h недостаточно.

...