Basic header of mruby. It includes mrbconf.h, mruby/value.h, mruby/version.h internally.
mrb_state*
mrb_open(void);Creates new mrb_state.
typedef void*
(*mrb_allocf) (struct mrb_state *mrb, void *ptr, size_t s, void *ud);Function pointer type of custom allocator used in mrb_open_allocf.
The function pointing it must behave similarly as realloc.
If ptr is NULL it must allocate new space.
If s is NULL, ptr must be freed.
mrb_state*
mrb_open_allocf(mrb_allocf f, void *ud);Create new mrb_state with custom allocator.
ud will be passed to custom allocator f.
If user data isn't required just pass NULL.
Function pointer f must satisfy requirements of its type.
void
mrb_close(mrb_state *mrb);Frees mrb_state.
mrb must be same as return value of mrb_open or mrb_open_allocf.
int
mrb_get_args(mrb_state *mrb, const char *format, ...);Retrieve arguments from mrb_state.
Use it inside a function pointed by mrb_func_t.
It returns number of function retrieved.
format is a list of following format specifier:
| char | mruby type | retrieve types | note |
|---|---|---|---|
| o | Object |
mrb_value |
Could be used to retreive any type of argument |
| C | Class/Module |
mrb_value |
|
| S | String |
mrb_value |
|
| A | Array |
mrb_value |
|
| H | Hash |
mrb_value |
|
| s | String |
mrb_value |
|
| z | String |
mrb_value |
|
| a | Array |
mrb_value*, mrb_int |
|
| f | Float |
mrb_float |
|
| i | Interger |
mrb_int |
|
| b | Boolean |
mrb_bool |
|
| n | Symbol |
mrb_sym |
|
| & | Block |
mrb_value |
|
| * | Array |
mrb_value*, int |
Receive the rest of arguments as an array. Unlike *operator Array object won't be created. |
'|' |
The passing values must be pointer of retreive types.