diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-04-02 06:33:26 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-04-02 06:33:26 +0000 |
commit | fa14633cba67c0b878e5b3125070151682a04643 (patch) | |
tree | 149a7f1379157559da03c6b99bef515c316c0bb1 /numeric.c | |
parent | 456397a91a5d68a0405b52b4f7ea7372fc8187dc (diff) | |
download | ruby-fa14633cba67c0b878e5b3125070151682a04643.tar.gz |
numeric.c: prefer rb_check_arity
* numeric.c (flo_round, int_to_s, int_round): use rb_check_arity
instead of rb_scan_args for a simple optional argument.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'numeric.c')
-rw-r--r-- | numeric.c | 22 |
1 files changed, 8 insertions, 14 deletions
@@ -1842,14 +1842,13 @@ flo_truncate(VALUE num); static VALUE flo_round(int argc, VALUE *argv, VALUE num) { - VALUE nd; double number, f; int ndigits = 0; int binexp; enum {float_dig = DBL_DIG+2}; - if (argc > 0 && rb_scan_args(argc, argv, "01", &nd) == 1) { - ndigits = NUM2INT(nd); + if (rb_check_arity(argc, 0, 1)) { + ndigits = NUM2INT(argv[0]); } if (ndigits < 0) { return rb_int_round(flo_truncate(num), ndigits); @@ -3015,13 +3014,10 @@ int_to_s(int argc, VALUE *argv, VALUE x) { int base; - if (argc == 0) base = 10; - else { - VALUE b; - - rb_scan_args(argc, argv, "01", &b); - base = NUM2INT(b); - } + if (rb_check_arity(argc, 0, 1)) + base = NUM2INT(argv[0]); + else + base = 10; return rb_int2str(x, base); } @@ -4142,12 +4138,10 @@ int_dotimes(VALUE num) static VALUE int_round(int argc, VALUE* argv, VALUE num) { - VALUE n; int ndigits; - if (argc == 0) return num; - rb_scan_args(argc, argv, "1", &n); - ndigits = NUM2INT(n); + if (!rb_check_arity(argc, 0, 1)) return num; + ndigits = NUM2INT(argv[0]); if (ndigits > 0) { return rb_Float(num); } |