2010-03-26 6 views
0

here의 내용을 확인할 수있는 시체가 있습니까? 내 경험으로는 Example::Vector.new을 전혀 사용할 수 없다는 것입니다.구조체지도를 사용하여 루비에 SWIG

C/C++ 구조체는 접근 방법으로, 루비 클래스로 래핑 (즉 "게터"및 "족") 구조체 부재 모든. 예를 들어,이 구조체 선언 :

struct Vector { 
double x, y; 
}; 

는 루비 인스턴스 메소드 X, X = Y 및 Y = 가진 벡터 클래스로 래핑 얻는다. 다음 이러한 방법은 루비에서 구조 데이터에 액세스하기 위해 사용될 수있다

$ 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 

답변

0

해결. 또한 example.i 파일에 형식 정의를 추가해야합니다. 단지 .h 만 포함하면 충분하지 않습니다.

0

당신은 CStruct을 시도 할 수 있습니다 :

gem install CStruct 

이 자세히 rubyforge.org