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/range.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/range.c')
| -rw-r--r-- | src/range.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/src/range.c b/src/range.c index 6df5d13a3..0b4e6dbca 100644 --- a/src/range.c +++ b/src/range.c @@ -182,11 +182,9 @@ range_eq(mrb_state *mrb, mrb_value range) { struct RRange *rr; struct RRange *ro; - mrb_value obj; + mrb_value obj = mrb_get_arg1(mrb); mrb_bool v1, v2; - mrb_get_args(mrb, "o", &obj); - if (mrb_obj_equal(mrb, range, obj)) return mrb_true_value(); if (!mrb_obj_is_instance_of(mrb, obj, mrb_obj_class(mrb, range))) { /* same class? */ return mrb_false_value(); @@ -211,13 +209,11 @@ range_eq(mrb_state *mrb, mrb_value range) static mrb_value range_include(mrb_state *mrb, mrb_value range) { - mrb_value val; + mrb_value val = mrb_get_arg1(mrb); struct RRange *r = mrb_range_ptr(mrb, range); mrb_value beg, end; mrb_bool include_p; - mrb_get_args(mrb, "o", &val); - beg = RANGE_BEG(r); end = RANGE_END(r); include_p = r_le(mrb, beg, val) && /* beg <= val */ @@ -289,11 +285,9 @@ range_inspect(mrb_state *mrb, mrb_value range) static mrb_value range_eql(mrb_state *mrb, mrb_value range) { - mrb_value obj; + mrb_value obj = mrb_get_arg1(mrb); struct RRange *r, *o; - mrb_get_args(mrb, "o", &obj); - if (mrb_obj_equal(mrb, range, obj)) return mrb_true_value(); if (!mrb_obj_is_kind_of(mrb, obj, mrb->range_class)) return mrb_false_value(); if (!mrb_range_p(obj)) return mrb_false_value(); @@ -312,11 +306,9 @@ range_eql(mrb_state *mrb, mrb_value range) static mrb_value range_initialize_copy(mrb_state *mrb, mrb_value copy) { - mrb_value src; + mrb_value src = mrb_get_arg1(mrb); struct RRange *r; - mrb_get_args(mrb, "o", &src); - if (mrb_obj_equal(mrb, copy, src)) return copy; if (!mrb_obj_is_instance_of(mrb, src, mrb_obj_class(mrb, copy))) { mrb_raise(mrb, E_TYPE_ERROR, "wrong argument class"); |
