diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-02-26 08:27:15 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-02-26 08:27:15 +0000 |
commit | 48943ec3ae3ad53e7dd2fc88a5faef5352658c4f (patch) | |
tree | 408fe56246ded0166ec4f8f205f152c20e2bbb7f /object.c | |
parent | d516dedc9888628cb58f16e70cbf4acdb2048458 (diff) |
1.1b8_00?
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@94 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'object.c')
-rw-r--r-- | object.c | 36 |
1 files changed, 24 insertions, 12 deletions
@@ -230,18 +230,6 @@ obj_is_kind_of(obj, c) case T_CLASS: break; - case T_NIL: - if (NIL_P(obj)) return TRUE; - return FALSE; - - case T_FALSE: - if (obj) return FALSE; - return TRUE; - - case T_TRUE: - if (obj) return TRUE; - return FALSE; - default: TypeError("class or module required"); } @@ -262,6 +250,13 @@ obj_dummy(obj) } static VALUE +nil_to_i(obj) + VALUE obj; +{ + return INT2FIX(0); +} + +static VALUE nil_to_s(obj) VALUE obj; { @@ -322,6 +317,13 @@ true_to_s(obj) } static VALUE +true_to_i(obj) + VALUE obj; +{ + return INT2FIX(1); +} + +static VALUE true_type(obj) VALUE obj; { @@ -336,6 +338,13 @@ false_to_s(obj) } static VALUE +false_to_i(obj) + VALUE obj; +{ + return INT2FIX(0); +} + +static VALUE false_type(obj) VALUE obj; { @@ -874,6 +883,7 @@ Init_Object() cNilClass = rb_define_class("NilClass", cObject); rb_define_method(cNilClass, "type", nil_type, 0); + rb_define_method(cNilClass, "to_i", nil_to_i, 0); rb_define_method(cNilClass, "to_s", nil_to_s, 0); rb_define_method(cNilClass, "to_a", nil_to_a, 0); rb_define_method(cNilClass, "inspect", nil_inspect, 0); @@ -931,12 +941,14 @@ Init_Object() cTrueClass = rb_define_class("TrueClass", cObject); rb_define_method(cTrueClass, "to_s", true_to_s, 0); + rb_define_method(cTrueClass, "to_i", true_to_i, 0); rb_define_method(cTrueClass, "type", true_type, 0); rb_undef_method(CLASS_OF(cTrueClass), "new"); rb_define_global_const("TRUE", TRUE); cFalseClass = rb_define_class("FalseClass", cObject); rb_define_method(cFalseClass, "to_s", false_to_s, 0); + rb_define_method(cFalseClass, "to_i", false_to_i, 0); rb_define_method(cFalseClass, "type", false_type, 0); rb_undef_method(CLASS_OF(cFalseClass), "new"); rb_define_global_const("FALSE", FALSE); |