跳轉到內容

Ruby 程式設計/嵌入 Ruby

來自 Wikibooks,開放的書籍,開放的世界

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

https://github.com/mruby/mruby

華夏公益教科書