From 9afd376fa40c37446a8df5f2222384f8a01960f9 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Masaya Date: Mon, 16 Oct 2017 18:15:25 +0900 Subject: Support MRB_WIHTOUT_FLOAT to mruby-object-ext --- mrbgems/mruby-object-ext/src/object.c | 6 ++++++ mrbgems/mruby-object-ext/test/nil.rb | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'mrbgems/mruby-object-ext') diff --git a/mrbgems/mruby-object-ext/src/object.c b/mrbgems/mruby-object-ext/src/object.c index 35a07b584..b076b3ec0 100644 --- a/mrbgems/mruby-object-ext/src/object.c +++ b/mrbgems/mruby-object-ext/src/object.c @@ -16,6 +16,7 @@ nil_to_a(mrb_state *mrb, mrb_value obj) return mrb_ary_new(mrb); } +#ifndef MRB_WITHOUT_FLOAT /* * call-seq: * nil.to_f -> 0.0 @@ -28,6 +29,7 @@ nil_to_f(mrb_state *mrb, mrb_value obj) { return mrb_float_value(mrb, 0.0); } +#endif /* * call-seq: @@ -77,7 +79,9 @@ mrb_obj_instance_exec(mrb_state *mrb, mrb_value self) switch (mrb_type(self)) { case MRB_TT_SYMBOL: case MRB_TT_FIXNUM: +#ifndef MRB_WITHOUT_FLOAT case MRB_TT_FLOAT: +#endif c = NULL; break; default: @@ -94,7 +98,9 @@ mrb_mruby_object_ext_gem_init(mrb_state* mrb) struct RClass * n = mrb->nil_class; mrb_define_method(mrb, n, "to_a", nil_to_a, MRB_ARGS_NONE()); +#ifndef MRB_WITHOUT_FLOAT mrb_define_method(mrb, n, "to_f", nil_to_f, MRB_ARGS_NONE()); +#endif mrb_define_method(mrb, n, "to_i", nil_to_i, MRB_ARGS_NONE()); mrb_define_method(mrb, mrb->kernel_module, "instance_exec", mrb_obj_instance_exec, MRB_ARGS_ANY() | MRB_ARGS_BLOCK()); diff --git a/mrbgems/mruby-object-ext/test/nil.rb b/mrbgems/mruby-object-ext/test/nil.rb index 5cd1cf4ed..7f773637a 100644 --- a/mrbgems/mruby-object-ext/test/nil.rb +++ b/mrbgems/mruby-object-ext/test/nil.rb @@ -4,7 +4,7 @@ end assert('NilClass#to_f') do assert_equal 0.0, nil.to_f -end +end if class_defined?("Float") assert('NilClass#to_i') do assert_equal 0, nil.to_i -- cgit v1.2.3