Ruby 编程/嵌入 Ruby
外观
< Ruby 编程
您可以将 Ruby 嵌入您的其他 C 应用程序,尽管这有点棘手。
http://stackoverflow.com/questions/239315/how-to-embed-ruby-in-c
是一个很好的参考。最棘手的地方我认为您只能从应用程序的“main”线程运行它,否则它将无法正确执行其堆栈遍历以进行垃圾收集。对于 jruby 或 Rubinius 等,情况可能并非如此,对于 1.9 也可能并非如此(可能在那里工作)。
基本上,您可以在调用 init 后调用 ruby.h 中定义的任何“rb_”方法,它们都会返回一个 VALUE 对象(ruby 对象)。
请注意,您可以通过编写 C 扩展从 ruby 调用 C。这是标准做法。
mruby 是由 matz(原始 Ruby 开发人员)编写的 Ruby 1.9 的轻量级实现。它允许您在一个程序中运行多个 Ruby 副本,并且比完整的 Ruby 解释器更容易集成到其他软件中。它的 github 页面在这里