【发布时间】:2015-08-25 02:25:59
【问题描述】:
我遇到了在 C 中调用 mruby VM 的问题。我可以调用 mruby vm 并从 C 执行 ruby 代码。我也可以触发 ruby 代码中定义的方法。但是我在尝试读取 ruby 方法的返回值时遇到了问题。我在下面提供了我的示例场景。
代码:
#include <stdlib.h>
#include <stdio.h>
#include <mruby.h>
#include <mruby/compile.h>
int main(void)
{
mrb_state *mrb = mrb_open();
char code[] = "def helloworld() return'OK' end";
printf("Executing Ruby code from C!\n");
mrb_load_string(mrb, code);
mrb_load_string(mrb, "helloworld()");
// How to read the return value?
return 0;
}
我不确定这是否是调用 ruby 方法的正确方法?我在网上找不到任何文档或示例。任何尝试通过 c(使用 mruby)调用 ruby 代码的人可以帮帮我吗?
问候,
【问题讨论】: