diff options
author | marcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-04-16 03:15:56 +0000 |
---|---|---|
committer | marcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-04-16 03:15:56 +0000 |
commit | 33399fe8248a25132343b1b5be3a35357c3d9099 (patch) | |
tree | 39d9c83014369d7e485272ac16506b90fe41a079 /object.c | |
parent | f92be2c01a7417c88b47373a4e43aabd7918f225 (diff) |
* object.c: Add NilClass#to_h [Feature #6276]
[ref #5008] [rubyspec:dc5ecddbd608]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'object.c')
-rw-r--r-- | object.c | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -1058,6 +1058,23 @@ nil_to_a(VALUE obj) } /* + * Document-method: to_h + * + * call-seq: + * nil.to_h -> {} + * + * Always returns an empty hash. + * + * nil.to_h #=> {} + */ + +static VALUE +nil_to_h(VALUE obj) +{ + return rb_hash_new(); +} + +/* * call-seq: * nil.inspect -> "nil" * @@ -2896,6 +2913,7 @@ Init_Object(void) 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, "to_h", nil_to_h, 0); rb_define_method(rb_cNilClass, "inspect", nil_inspect, 0); rb_define_method(rb_cNilClass, "&", false_and, 1); rb_define_method(rb_cNilClass, "|", false_or, 1); |