diff options
-rw-r--r-- | object.c | 12 | ||||
-rw-r--r-- | parse.y | 2 | ||||
-rw-r--r-- | range.c | 14 |
3 files changed, 8 insertions, 20 deletions
@@ -951,8 +951,6 @@ VALUE rb_Integer(val) VALUE val; { - VALUE v; - switch (TYPE(val)) { case T_FLOAT: if (RFLOAT(val)->value <= (double)FIXNUM_MAX @@ -961,25 +959,20 @@ rb_Integer(val) } return rb_dbl2big(RFLOAT(val)->value); + case T_FIXNUM: case T_BIGNUM: return val; case T_STRING: return rb_str_to_inum(val, 0, Qtrue); - case T_FIXNUM: - return val; - default: break; } - if (rb_respond_to(val, rb_intern("to_int"))) { return rb_to_integer(val, "to_int"); } - else { - return rb_to_integer(val, "to_i"); - } + return rb_to_integer(val, "to_i"); } static VALUE @@ -1310,6 +1303,7 @@ Init_Object() rb_cNilClass = rb_define_class("NilClass", rb_cObject); rb_define_method(rb_cNilClass, "to_i", nil_to_i, 0); + rb_define_method(rb_cNilClass, "to_f", nil_to_f, 0); rb_define_method(rb_cNilClass, "to_s", nil_to_s, 0); rb_define_method(rb_cNilClass, "to_a", nil_to_a, 0); rb_define_method(rb_cNilClass, "inspect", nil_inspect, 0); @@ -3036,7 +3036,7 @@ here_document(here) NODE *here; { int c, func, indent = 0; - char *eos, *p; + char *eos; int len; VALUE str = 0, line; @@ -384,11 +384,8 @@ range_min(range) VALUE range; { - VALUE b, e, step; - long unit; - - b = rb_ivar_get(range, id_beg); - e = rb_ivar_get(range, id_end); + VALUE b = rb_ivar_get(range, id_beg); + VALUE e = rb_ivar_get(range, id_end); if (r_le(b, e)) return b; return e; @@ -398,11 +395,8 @@ static VALUE range_max(range) VALUE range; { - VALUE b, e, step; - long unit; - - b = rb_ivar_get(range, id_beg); - e = rb_ivar_get(range, id_end); + VALUE b = rb_ivar_get(range, id_beg); + VALUE e = rb_ivar_get(range, id_end); if (r_gt(b, e)) return b; return e; |