mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Merge pull request #19799 from yui-knk/fix/wrap_doc2
[ci skip] Fix docs and guide about 'Array.wrap'
This commit is contained in:
commit
4e141f16ec
2 changed files with 6 additions and 5 deletions
|
@ -15,12 +15,13 @@ class Array
|
|||
#
|
||||
# * If the argument responds to +to_ary+ the method is invoked. <tt>Kernel#Array</tt>
|
||||
# moves on to try +to_a+ if the returned value is +nil+, but <tt>Array.wrap</tt> returns
|
||||
# +nil+ right away.
|
||||
# an array with the argument as its single element right away.
|
||||
# * If the returned value from +to_ary+ is neither +nil+ nor an +Array+ object, <tt>Kernel#Array</tt>
|
||||
# raises an exception, while <tt>Array.wrap</tt> does not, it just returns the value.
|
||||
# * It does not call +to_a+ on the argument, but returns an empty array if argument is +nil+.
|
||||
# * It does not call +to_a+ on the argument, if the argument does not respond to +to_ary+
|
||||
# it returns an array with the argument as its single element.
|
||||
#
|
||||
# The second point is easily explained with some enumerables:
|
||||
# The last point is easily explained with some enumerables:
|
||||
#
|
||||
# Array(foo: :bar) # => [[:foo, :bar]]
|
||||
# Array.wrap(foo: :bar) # => [{:foo=>:bar}]
|
||||
|
|
|
@ -2440,9 +2440,9 @@ Array.wrap(0) # => [0]
|
|||
|
||||
This method is similar in purpose to `Kernel#Array`, but there are some differences:
|
||||
|
||||
* If the argument responds to `to_ary` the method is invoked. `Kernel#Array` moves on to try `to_a` if the returned value is `nil`, but `Array.wrap` returns `nil` right away.
|
||||
* If the argument responds to `to_ary` the method is invoked. `Kernel#Array` moves on to try `to_a` if the returned value is `nil`, but `Array.wrap` returns an array with the argument as its single element right away.
|
||||
* If the returned value from `to_ary` is neither `nil` nor an `Array` object, `Kernel#Array` raises an exception, while `Array.wrap` does not, it just returns the value.
|
||||
* It does not call `to_a` on the argument, though special-cases `nil` to return an empty array.
|
||||
* It does not call `to_a` on the argument, if the argument does not respond to +to_ary+ it returns an array with the argument as its single element.
|
||||
|
||||
The last point is particularly worth comparing for some enumerables:
|
||||
|
||||
|
|
Loading…
Reference in a new issue