summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-12-23 03:43:45 (GMT)
committermarcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-12-23 03:43:45 (GMT)
commit9777547817c775cb2e767083385090dd79f77fff (patch)
tree788745b7343f29a3fc4ddd760429de4067d5d2f6
parent9cc112042413a8ba03542960185fbbc168b7d870 (diff)
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
-rw-r--r--struct.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/struct.c b/struct.c
index 45c9a6d..c0cef33 100644
--- a/struct.c
+++ b/struct.c
@@ -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