| Subject: [ruby-ffi] struct questions | 
| From: rogerdpack | 
| Date: 12/18/09 7:00 PM | 
| To: ruby-ffi | 
A few random questions for members of the group...
I've noticed that inheritance doesn't seem to work...
  class SimpleStruct < FFI::Struct
    layout  :value, :double,
            :name, :string
  end
 class S2 < SimpleStruct; end
 puts S2.members # fails NoMethodError: undefined method `members' for
nil:NilClass
Is there any means for inheritance? Is this a bug?  (as another side-
effect, the parent marshal's correctly but the child doesn't--is that
a bug?).
With char arrays, it seems "difficult" to insert a string
(rdb:1) ss[:title] = "abc"
ArgumentError Exception: put not supported for
FFI::StructLayout::Array
is there an easier way than ss[:title][0] = 33; ss[:title][1] = 34; //
one at a time?
If the only reason "put" is not supported is because it is on the todo
list, I could help with that.
I would also be happy to hack up a patch that made Struct#inspect more
visually friendly
i.e.
#<SnarlStruct:0x13221c0>
becomes
#<SnarlStruct field1: value1, field2: value2...>
if there's any interest.
Thoughts?
In good news, I was able to successfully convert ruby/dl of the Snarl
gem into ffi and it works [now ffi compatible--yea].
Thanks!
-r