如何使用mruby将C字符串传递给Ruby方法?

时间:2014-07-30 04:29:39

标签: c mruby

我开始使用C和mruby。我有一个程序,使用mruby mrb_load_string函数调用Ruby函数。我想将参数从C函数传递给Ruby函数。我怎样才能做到这一点?

void on_key(const char *key) {
  mrb_load_string(mrb, "input_received()"); // how do I pass key as an argument?
}

1 个答案:

答案 0 :(得分:2)

如果ruby函数将字符串作为参数输入,则:

void on_key(const char *key) {
  char arg[64];
  sprintf(arg,"input_received(\"%s\")",key);//Embed key as an argument to the function
  mrb_load_string(mrb, arg); 
}

应该做你想做的事。