diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-06-20 12:49:46 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-06-20 12:49:46 +0900 |
| commit | 49ae2a69f2c3acbb952406768320401cf1769425 (patch) | |
| tree | fd0b49d898327a1de29e143fb2c68e6991cf710d /mrbgems/mruby-kernel-ext | |
| parent | 2ffb77586a8ce6f325d2981e2ad88cc9e62ae39b (diff) | |
| download | mruby-49ae2a69f2c3acbb952406768320401cf1769425.tar.gz mruby-49ae2a69f2c3acbb952406768320401cf1769425.zip | |
Add `mrb_get_arg1()` that retrieves single (and only) argument.
`mrb_get_arg1()` raises `ArgumentError` if the method does not receive one
argument.
And replaces all `mrb_get_args(mrb, "o", &arg)` by the new function.
Diffstat (limited to 'mrbgems/mruby-kernel-ext')
| -rw-r--r-- | mrbgems/mruby-kernel-ext/src/kernel.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/mrbgems/mruby-kernel-ext/src/kernel.c b/mrbgems/mruby-kernel-ext/src/kernel.c index 427740c1c..1d183aecd 100644 --- a/mrbgems/mruby-kernel-ext/src/kernel.c +++ b/mrbgems/mruby-kernel-ext/src/kernel.c @@ -128,9 +128,8 @@ mrb_f_integer(mrb_state *mrb, mrb_value self) static mrb_value mrb_f_float(mrb_state *mrb, mrb_value self) { - mrb_value arg; + mrb_value arg = mrb_get_arg1(mrb); - mrb_get_args(mrb, "o", &arg); return mrb_Float(mrb, arg); } #endif @@ -149,9 +148,9 @@ mrb_f_float(mrb_state *mrb, mrb_value self) static mrb_value mrb_f_string(mrb_state *mrb, mrb_value self) { - mrb_value arg, tmp; + mrb_value arg = mrb_get_arg1(mrb); + mrb_value tmp; - mrb_get_args(mrb, "o", &arg); tmp = mrb_convert_type(mrb, arg, MRB_TT_STRING, "String", "to_s"); return tmp; } @@ -168,9 +167,9 @@ mrb_f_string(mrb_state *mrb, mrb_value self) static mrb_value mrb_f_array(mrb_state *mrb, mrb_value self) { - mrb_value arg, tmp; + mrb_value arg = mrb_get_arg1(mrb); + mrb_value tmp; - mrb_get_args(mrb, "o", &arg); tmp = mrb_check_convert_type(mrb, arg, MRB_TT_ARRAY, "Array", "to_a"); if (mrb_nil_p(tmp)) { return mrb_ary_new_from_values(mrb, 1, &arg); @@ -196,9 +195,8 @@ mrb_f_array(mrb_state *mrb, mrb_value self) static mrb_value mrb_f_hash(mrb_state *mrb, mrb_value self) { - mrb_value arg; + mrb_value arg = mrb_get_arg1(mrb); - mrb_get_args(mrb, "o", &arg); if (mrb_nil_p(arg) || (mrb_array_p(arg) && RARRAY_LEN(arg) == 0)) { return mrb_hash_new(mrb); } |
