diff options
author | sonots <sonots@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-10-21 23:44:15 +0000 |
---|---|---|
committer | sonots <sonots@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-10-21 23:44:15 +0000 |
commit | 2adcc0b8faa27d9ffdea21403fbf97ec2f3fea66 (patch) | |
tree | d1feee224013a03c9861b86ea3c82a6a4eac3066 | |
parent | 71b932d675b53cbad6048e2c44a86b39b4310ad3 (diff) | |
download | ruby-2adcc0b8faa27d9ffdea21403fbf97ec2f3fea66.tar.gz |
* object.c: Improve documentation of Kernel#Array
Array(arg) does more than just call to_ary or to_a on the argument.
It also falls back to returning [arg] if neither method is available.
This patch extends the description and adds a few examples of how it
handles common types of arguments, including an integer
(which does not implement to_ary or to_a).
Extend Kernel#Array doc to mention TypeError
patched by ragesoss (Sage Ross) [fix GH-1663]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | object.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -3609,8 +3609,17 @@ rb_Array(VALUE val) * Returns +arg+ as an Array. * * First tries to call <code>to_ary</code> on +arg+, then <code>to_a</code>. + * If +arg+ does not respond to <code>to_ary</code> or <code>to_a</code>, + * returns an Array of length 1 containing +arg+. * - * Array(1..5) #=> [1, 2, 3, 4, 5] + * If <code>to_ary</code> or <code>to_a</code> returns something other than + * an Array, raises a <code>TypeError</code>. + * + * Array(["a", "b"]) #=> ["a", "b"] + * Array(1..5) #=> [1, 2, 3, 4, 5] + * Array(key: :value) #=> [[:key, :value]] + * Array(nil) #=> [] + * Array(1) #=> [1] */ static VALUE |