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 頁面在這裡