Function mrb_funcall

Source
pub unsafe extern "C" fn mrb_funcall(
    mrb: *mut mrb_state,
    val: mrb_value,
    name: *const c_char,
    argc: mrb_int,
    ...
) -> mrb_value
Expand description

Call existing ruby functions.

Example:

 #include <stdio.h>
 #include <mruby.h>
 #include "mruby/compile.h"

 int
 main()
 {
   mrb_int i = 99;
   mrb_state *mrb = mrb_open();

   if (!mrb) { }
   FILE *fp = fopen("test.rb","r");
   mrb_value obj = mrb_load_file(mrb,fp);
   mrb_funcall(mrb, obj, "method_name", 1, mrb_fixnum_value(i));
   mrb_funcall_id(mrb, obj, MRB_SYM(method_name), 1, mrb_fixnum_value(i));
   fclose(fp);
   mrb_close(mrb);
 }

@param mrb The current mruby state. @param val A reference to an mruby value. @param name The name of the method. @param argc The number of arguments the method has. @param … Variadic values(not type safe!). @return mrb_value mruby function value.