Commit 6bf63707 authored by Yukihiro Matsumoto's avatar Yukihiro Matsumoto

new mrb_get_args specifier "n" to retrieve a symbol (stands for "name")

parent b3d83a79
...@@ -370,6 +370,7 @@ to_hash(mrb_state *mrb, mrb_value val) ...@@ -370,6 +370,7 @@ to_hash(mrb_state *mrb, mrb_value val)
a: Array [mrb_value*,int] a: Array [mrb_value*,int]
f: Float [mrb_float] f: Float [mrb_float]
i: Integer [mrb_int] i: Integer [mrb_int]
n: Symbol [mrb_sym]
&: Block [mrb_value] &: Block [mrb_value]
*: rest argument [mrb_value*,int] *: rest argument [mrb_value*,int]
|: optional |: optional
...@@ -560,6 +561,25 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) ...@@ -560,6 +561,25 @@ mrb_get_args(mrb_state *mrb, const char *format, ...)
} }
} }
break; break;
case 'n':
{
mrb_sym *symp;
symp = va_arg(ap, mrb_sym*);
if (i < argc) {
mrb_value ss;
ss = *sp++;
if (mrb_type(ss) == MRB_TT_SYMBOL) {
*symp = mrb_symbol(ss);
}
else {
*symp = mrb_intern_str(mrb, to_str(mrb, ss));
}
i++;
}
}
break;
case '&': case '&':
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment