次の2つのFFI構造体について考えてみます。
class A < FFI::Struct
layout :data, :int
end
class B < FFI::Struct
layout :nested, A
end
それらをインスタンス化するには:
a = A.new
b = B.new
今、私がこのように割り当てようとするa
とb.nested
:
b[:nested] = a
次のエラーが発生します。
ArgumentError: put not supported for FFI::StructByValue
ネストされた構造体が「値によってネストされている」場合、つまりポインタではない場合、FFIでは[]構文を使用して割り当てることができないようです。もしそうなら、どのように私はに割り当てるa
のですb.nested
か?