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) + + * hash.c (Hash::[]): rdoc. patch by Marc-Andre Lafortune. + #1385. + Wed Jul 22 10:00:53 2009 NAKAMURA Usaku * 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 { key, value, ... }. Keys and - * values occur in pairs, so there must be an even number of arguments. + * the literal { key => value, ... }. 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} - * { "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} + * Hash["a" => 100, "b" => 200] #=> {"a"=>100, "b"=>200} */ static VALUE