Exemple #1
0
int main(int argc, char *argv[])
{
  if( argc != 2 ) {
    printf("Usage: %s <xxxx.mrb>\n", argv[0]);
    return 1;
  }

  uint8_t *mrbbuf = load_mrb_file( argv[1] );
  if( mrbbuf == 0 ) return 1;

  mrubyc( mrbbuf );
  free( mrbbuf );

  return 0;
}
Exemple #2
0
static void
load_file(mrb_state *mrb, mrb_value filepath)
{
  char *ext = strrchr(RSTRING_PTR(filepath), '.');

  if (!ext || strcmp(ext, ".rb") == 0) {
    load_rb_file(mrb, filepath);
  } else if (strcmp(ext, ".mrb") == 0) {
    load_mrb_file(mrb, filepath);
  } else if (strcmp(ext, ".so") == 0 ||
             strcmp(ext, ".dll") == 0 ||
             strcmp(ext, ".dylib") == 0) {
    load_so_file(mrb, filepath);
  } else {
    load_rb_file(mrb, filepath);
  }
}