Expand description
Format specifiers for mrb_get_args
function.
mrb_get_args
has the following prototype and returns the number of
arguments parsed.
MRB_API mrb_int mrb_get_args(mrb_state *mrb, const char *format, ...)
format
must be a C string composed of the following format specifiers:
string mruby type C type note
----------------------------------------------------------------------------------------------
o: Object `mrb_value`
C: class/module `mrb_value`
S: String `mrb_value` when ! follows, the value may be nil
A: Array `mrb_value` when ! follows, the value may be nil
H: Hash `mrb_value` when ! follows, the value may be nil
s: String `char*`,`mrb_int` Receive two arguments; s! gives (NULL,0) for nil
z: String `char*` NUL terminated string; z! gives NULL for nil
a: Array `mrb_value*`,`mrb_int` Receive two arguments; a! gives (NULL,0) for nil
f: Float `mrb_float`
i: Integer `mrb_int`
b: Boolean `mrb_bool`
n: Symbol `mrb_sym`
d: Data `void*`,`mrb_data_type` 2nd argument will be used to check data type so it won't be modified
I: Inline struct `void*`
&: Block `mrb_value` &! raises exception if no block given
*: rest argument `mrb_value*`,`mrb_int` The rest of the arguments as an array; *! avoid copy of the stack
|: optional Following arguments are optional
?: optional given `mrb_bool` true if preceding argument (optional) is given
Constantsยง
- Retrieve an Array argument
- Retrieve a Block argument.
- Retrieve a Block argument and raise an exception if none is given.
- Retrieve a Boolean argument.
- Receive two arguments, a C Array of
mrb_value
s and its length. Usable like: - Retrieve a Class argument
- Retrieve a NUL-terminated
CString
argument - Retrieve a
CString
and its length. Usable like: - Receive two arguments, a
void *
pointer to data and anmrb_data_type
. - Retrieve a Float argument.
- The following args specified are optional.
- Retrieve a Hash argument
- Internal, retrieve a
void *
. - Retrieve an Integer argument.
- Retrieve a Module argument
- Retrieve an Array argument or
nil
- Retrieve a Hash argument or
nil
- Retrieve a String argument or
nil
- Receive two arguments, a C Array of
mrb_value
s and its length. Gives (NULL, 0) fornil
. Usable like: - Retrieve a NUL-terminated
CString
argument. Gives NULL fornil
- Retrieve a
CString
and its length. Gives (NULL, 0) fornil
. Usable like: - Could be used to retrieve any type of argument
- Retrieve a Boolean indicating whether the previous optional argument was given.
- Retrieve the rest of arguments as an array; Usable like:
- Retrieve the rest of arguments as an array; avoid copy of the stack.
- Retrieve a String argument
- Retrieve a Symbol argument.