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 /src/array.c | |
| 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 'src/array.c')
| -rw-r--r-- | src/array.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/array.c b/src/array.c index ad0d5b8db..414ccd60a 100644 --- a/src/array.c +++ b/src/array.c @@ -1038,10 +1038,9 @@ mrb_ary_last(mrb_state *mrb, mrb_value self) static mrb_value mrb_ary_index_m(mrb_state *mrb, mrb_value self) { - mrb_value obj; + mrb_value obj = mrb_get_arg1(mrb); mrb_int i; - mrb_get_args(mrb, "o", &obj); for (i = 0; i < RARRAY_LEN(self); i++) { if (mrb_equal(mrb, RARRAY_PTR(self)[i], obj)) { return mrb_fixnum_value(i); @@ -1053,10 +1052,9 @@ mrb_ary_index_m(mrb_state *mrb, mrb_value self) static mrb_value mrb_ary_rindex_m(mrb_state *mrb, mrb_value self) { - mrb_value obj; + mrb_value obj = mrb_get_arg1(mrb); mrb_int i, len; - mrb_get_args(mrb, "o", &obj); for (i = RARRAY_LEN(self) - 1; i >= 0; i--) { if (mrb_equal(mrb, RARRAY_PTR(self)[i], obj)) { return mrb_fixnum_value(i); @@ -1230,9 +1228,8 @@ mrb_ary_join_m(mrb_state *mrb, mrb_value ary) static mrb_value mrb_ary_eq(mrb_state *mrb, mrb_value ary1) { - mrb_value ary2; + mrb_value ary2 = mrb_get_arg1(mrb); - mrb_get_args(mrb, "o", &ary2); if (mrb_obj_equal(mrb, ary1, ary2)) return mrb_true_value(); if (!mrb_array_p(ary2)) { return mrb_false_value(); @@ -1245,9 +1242,8 @@ mrb_ary_eq(mrb_state *mrb, mrb_value ary1) static mrb_value mrb_ary_cmp(mrb_state *mrb, mrb_value ary1) { - mrb_value ary2; + mrb_value ary2 = mrb_get_arg1(mrb); - mrb_get_args(mrb, "o", &ary2); if (mrb_obj_equal(mrb, ary1, ary2)) return mrb_fixnum_value(0); if (!mrb_array_p(ary2)) { return mrb_nil_value(); |
