Esempio n. 1
0
 public static object[] RubyFunctionParamsToObjects(IntPtr mrb, IntPtr data_type_ptr)
 {
     R_VAL[]  value = RubyDLL.GetFunctionArgs(mrb);
     object[] ret   = new object[value.Length];
     for (int i = 0; i < ret.Length; i++)
     {
         ref R_VAL val = ref value[i];
         if (!R_VAL.IsData(val))
         {
             ret[i] = ValueToObject(mrb, val);
         }
         else
         {
             IntPtr ptr = RubyDLL.mrb_data_get_ptr(mrb, val, data_type_ptr);
             ret[i] = (( GCHandle )ptr).Target;
         }
     }