2

私はCとmrubyを使い始めています。mruby 関数を使用して Ruby 関数を呼び出すプログラムがありmrb_load_stringます。Cの関数からRubyの関数に引数を渡したい。どうすればこれを達成できますか?

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

1 に答える 1

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); 
}

あなたがしたいことをするべきです。

于 2014-07-30T07:03:25.480 に答える