我无法理解这条评论。
Array({:a => "a", :b => "b"}) #=> [[:a, "a"], [:b, "b"]]
你能解释一下它的工作原理吗?
答案 0 :(得分:5)
{:a => "a", :b => "b"}
创造了一个哈希
将其传递给Array
将创建一个数组数组。外部数组的每个数组元素都是另一个包含键和哈希值的一个项的数组。
答案 1 :(得分:5)
Array
方法将您的哈希转换为数组
因此,对于散列的每个条目,ruby将创建一个包含两个元素的数组:键和散列中条目的值。
您的数组中有两个条目:
:a => "a"
成为[:a, "a"]
:b => "b"
变为[:b, "b"]
答案 2 :(得分:5)
它实际上是内核模块提供的方法。
首先,它尝试调用to_ary
(为数组返回self),然后调用to_a
参数。
您可以使用相应的方法to_ary
和to_a
获得相同的结果。