From 98e65d9d921ec810bbae2233b80e865e76dd8502 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 6 Dec 2018 07:49:24 +0000 Subject: Prefer rb_check_arity when 0 or 1 arguments Especially over checking argc then calling rb_scan_args just to raise an ArgumentError. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- range.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'range.c') diff --git a/range.c b/range.c index 9661feb718..c30852e500 100644 --- a/range.c +++ b/range.c @@ -397,12 +397,7 @@ range_step(int argc, VALUE *argv, VALUE range) b = RANGE_BEG(range); e = RANGE_END(range); - if (argc == 0) { - step = INT2FIX(1); - } - else { - rb_scan_args(argc, argv, "01", &step); - } + step = (!rb_check_arity(argc, 0, 1) ? INT2FIX(1) : argv[0]); if (!rb_block_given_p()) { if (rb_obj_is_kind_of(b, rb_cNumeric) && (NIL_P(e) || rb_obj_is_kind_of(e, rb_cNumeric))) { -- cgit v1.2.3