Как передать строку C в метод Ruby с помощью mruby?
Я начинаю с C и Mruby. У меня есть программа, которая вызывает функцию Ruby с помощью mruby 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?
}
1 ответ
Решение
Если ваша функция 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);
}
должен делать то, что вы хотели.