diff options
author | marcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-23 03:43:45 +0000 |
---|---|---|
committer | marcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-23 03:43:45 +0000 |
commit | 9777547817c775cb2e767083385090dd79f77fff (patch) | |
tree | 788745b7343f29a3fc4ddd760429de4067d5d2f6 /struct.c | |
parent | 9cc112042413a8ba03542960185fbbc168b7d870 (diff) | |
download | ruby-9777547817c775cb2e767083385090dd79f77fff.tar.gz |
Struct#to_h: Add doc for block form.
Patch by Shuji Kobayashi [doc] [ci skip] [#15454]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'struct.c')
-rw-r--r-- | struct.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -901,13 +901,19 @@ rb_struct_to_a(VALUE s) /* * call-seq: - * struct.to_h -> hash + * struct.to_h -> hash + * struct.to_h {|name, value| block } -> hash * * Returns a Hash containing the names and values for the struct's members. * + * If a block is given, the results of the block on each pair of the receiver + * will be used as pairs. + * * Customer = Struct.new(:name, :address, :zip) * joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345) * joe.to_h[:address] #=> "123 Maple, Anytown NC" + * joe.to_h{|name, value| [name.upcase, value.to_s.upcase]}[:ADDRESS] + * #=> "123 MAPLE, ANYTOWN NC" */ static VALUE |