summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--hash.c18
2 files changed, 16 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 79d6ca9d9e..b84c123f76 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Jul 22 16:38:39 2009 Yuki Sonoda (Yugui) <yugui@yugui.jp>
+
+ * hash.c (Hash::[]): rdoc. patch by Marc-Andre Lafortune.
+ #1385.
+
Wed Jul 22 10:00:53 2009 NAKAMURA Usaku <usa@ruby-lang.org>
* win32/win32.c (WSABUF): get rid of compile error on VC9 and mingw.
diff --git a/hash.c b/hash.c
index c4eac855f3..74b654ee18 100644
--- a/hash.c
+++ b/hash.c
@@ -326,15 +326,19 @@ rb_hash_initialize(int argc, VALUE *argv, VALUE hash)
/*
* call-seq:
- * Hash[ [key =>|, value]* ] => hash
+ * Hash[ key, value, ... ] => hash
+ * Hash[ [ [key, value], ... ] ] => hash
+ * Hash[ object ] => hash
*
* Creates a new hash populated with the given objects. Equivalent to
- * the literal <code>{ <i>key</i>, <i>value</i>, ... }</code>. Keys and
- * values occur in pairs, so there must be an even number of arguments.
- *
- * Hash["a", 100, "b", 200] #=> {"a"=>100, "b"=>200}
- * Hash["a" => 100, "b" => 200] #=> {"a"=>100, "b"=>200}
- * { "a" => 100, "b" => 200 } #=> {"a"=>100, "b"=>200}
+ * the literal <code>{ <i>key</i> => <i>value</i>, ... }</code>. In the first
+ * form, keys and values occur in pairs, so there must be an even number of arguments.
+ * The second and third form take a single argument which is either
+ * an array of key-value pairs or an object convertible to a hash.
+ *
+ * Hash["a", 100, "b", 200] #=> {"a"=>100, "b"=>200}
+ * Hash[ [ ["a", 100], ["b", 200] ] ] #=> {"a"=>100, "b"=>200}
+ * Hash["a" => 100, "b" => 200] #=> {"a"=>100, "b"=>200}
*/
static VALUE