diff options
| author | KOBAYASHI Shuji <[email protected]> | 2019-07-24 20:13:26 +0900 |
|---|---|---|
| committer | KOBAYASHI Shuji <[email protected]> | 2019-07-24 20:13:26 +0900 |
| commit | 2d520eaf6f60e1bb5224b56f433fc9187b10c6cf (patch) | |
| tree | 0b476062fe6978df7bfc1e02f91489a41a0354a1 /mrbgems/mruby-object-ext/src | |
| parent | 5779464ec3035e24ac2c9b21bef87ed08e2cdfc4 (diff) | |
| download | mruby-2d520eaf6f60e1bb5224b56f433fc9187b10c6cf.tar.gz mruby-2d520eaf6f60e1bb5224b56f433fc9187b10c6cf.zip | |
Move `NilClass#to_h` to `mruby-object-ext` from `mruby-enum-ext`
Diffstat (limited to 'mrbgems/mruby-object-ext/src')
| -rw-r--r-- | mrbgems/mruby-object-ext/src/object.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/mrbgems/mruby-object-ext/src/object.c b/mrbgems/mruby-object-ext/src/object.c index 85db75b28..0aedc9a73 100644 --- a/mrbgems/mruby-object-ext/src/object.c +++ b/mrbgems/mruby-object-ext/src/object.c @@ -1,6 +1,7 @@ #include <mruby.h> #include <mruby/array.h> #include <mruby/class.h> +#include <mruby/hash.h> #include <mruby/proc.h> /* @@ -33,6 +34,19 @@ nil_to_f(mrb_state *mrb, mrb_value obj) /* * call-seq: + * nil.to_h -> {} + * + * Always returns an empty hash. + */ + +static mrb_value +nil_to_h(mrb_state *mrb, mrb_value obj) +{ + return mrb_hash_new(mrb); +} + +/* + * call-seq: * nil.to_i -> 0 * * Always returns zero. @@ -117,6 +131,7 @@ mrb_mruby_object_ext_gem_init(mrb_state* mrb) #ifndef MRB_WITHOUT_FLOAT mrb_define_method(mrb, n, "to_f", nil_to_f, MRB_ARGS_NONE()); #endif + mrb_define_method(mrb, n, "to_h", nil_to_h, MRB_ARGS_NONE()); mrb_define_method(mrb, n, "to_i", nil_to_i, MRB_ARGS_NONE()); mrb_define_method(mrb, mrb->kernel_module, "itself", mrb_f_itself, MRB_ARGS_NONE()); |
