我在 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 代码的人可以帮帮我吗?
问候,