ruby - 迭代 Ruby FFI 结构布局

标签 ruby rubygems ffi

我正在使用非常棒的 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/

相关文章:

ruby-on-rails - 如何解决 Rails 中的 JSON 语法错误?

ruby - 如何反转 ruby​​ 的包含函数

ruby-on-rails - 安装 contrib 包后 pg_search dmetaphone 不工作

ruby-on-rails - 如何让 Rails 从本地源目录中获取 gem?

lisp - 如何创建对应于 C 宏的 Lisp FLI 函数

haskell - 具有IO的Haskell多变量函数

ruby-on-rails - 如何在使用 Time.to_s( :db)? 时保留时区

ruby-on-rails - 如何组合 ActiveRecord 对象?

ruby-on-rails - bundler ,gems---根据要求从新版本更改

python - 与 Python 相比,在 Haskell 中调用 c 函数