diff options
| author | Yukihiro Matsumoto <[email protected]> | 2012-10-16 22:33:34 +0900 |
|---|---|---|
| committer | Yukihiro Matsumoto <[email protected]> | 2012-10-16 22:33:34 +0900 |
| commit | 27f002496f54028d04a93203f07ff5d7f6b1a037 (patch) | |
| tree | b46efc45e22ae5a9a575feb962a193f62773c53e /src/object.c | |
| parent | f2da76b6ef3c0d96fa8b1526f96d0037a9411879 (diff) | |
| download | mruby-27f002496f54028d04a93203f07ff5d7f6b1a037.tar.gz mruby-27f002496f54028d04a93203f07ff5d7f6b1a037.zip | |
true/false should print proper inspect string
Diffstat (limited to 'src/object.c')
| -rw-r--r-- | src/object.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/object.c b/src/object.c index 5130f3d54..093e8fd2b 100644 --- a/src/object.c +++ b/src/object.c @@ -82,7 +82,13 @@ mrb_true(mrb_state *mrb, mrb_value obj) static mrb_value nil_to_s(mrb_state *mrb, mrb_value obj) { - return mrb_str_new(mrb, 0, 0); + return mrb_str_new(mrb, 0, 0); +} + +static mrb_value +nil_inspect(mrb_state *mrb, mrb_value obj) +{ + return mrb_str_new(mrb, "nil", 3); } /*********************************************************************** @@ -272,6 +278,7 @@ mrb_init_object(mrb_state *mrb) mrb_define_method(mrb, n, "|", false_or, ARGS_REQ(1)); /* 15.2.4.3.3 */ mrb_define_method(mrb, n, "nil?", mrb_true, ARGS_NONE()); /* 15.2.4.3.4 */ mrb_define_method(mrb, n, "to_s", nil_to_s, ARGS_NONE()); /* 15.2.4.3.5 */ + mrb_define_method(mrb, n, "inspect", nil_inspect, ARGS_NONE()); t = mrb->true_class = mrb_define_class(mrb, "TrueClass", mrb->object_class); mrb_undef_class_method(mrb, t, "new"); @@ -279,6 +286,7 @@ mrb_init_object(mrb_state *mrb) mrb_define_method(mrb, t, "^", true_xor, ARGS_REQ(1)); /* 15.2.5.3.2 */ mrb_define_method(mrb, t, "to_s", true_to_s, ARGS_NONE()); /* 15.2.5.3.3 */ mrb_define_method(mrb, t, "|", true_or, ARGS_REQ(1)); /* 15.2.5.3.4 */ + mrb_define_method(mrb, t, "inspect", true_to_s, ARGS_NONE()); f = mrb->false_class = mrb_define_class(mrb, "FalseClass", mrb->object_class); mrb_undef_class_method(mrb, f, "new"); @@ -286,6 +294,7 @@ mrb_init_object(mrb_state *mrb) mrb_define_method(mrb, f, "^", false_xor, ARGS_REQ(1)); /* 15.2.6.3.2 */ mrb_define_method(mrb, f, "to_s", false_to_s, ARGS_NONE()); /* 15.2.6.3.3 */ mrb_define_method(mrb, f, "|", false_or, ARGS_REQ(1)); /* 15.2.6.3.4 */ + mrb_define_method(mrb, f, "inspect", false_to_s, ARGS_NONE()); } static mrb_value |
