我正在使用非常棒的 ruby ffi在 ruby 中访问 c 库中函数的库。
有没有办法迭代 Ruby FFI::Struct 的布局?
示例 FFI::结构:
class Example < FFI::Struct
layout :name, string,
:desc, :string,
:type, :int,
:value, :string
end
这似乎不起作用,但类似于下面的伪代码:
example_struct.each_key do |key|
puts key
end
最佳答案
查看the source for struct.rb ,我发现您可以调用 Struct::members
来获取您定义为“键”的符号数组。
从那里,您还有每个成员的值的 Struct::values
,每个成员的偏移量的 Struct::offsets
,以及一些其他方法。
关于ruby - 迭代 Ruby FFI 结构布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2478298/