При вызове reduce
на массив хэшей я думал, что могу разделить хэш по ключу и значению внутри параметров с помощью метода(). Но в данном случае, как представляется, не работает:Разбиение хэш-переменной с уменьшением
columns = [
{"lead"=>["source", 2]},
{"parent"=>["name", 4]}
]
columns.reduce({}) do |acc, (k,v)|
puts "k #{k} v #{v}"
end
# k {"lead"=>["source", 2]} v
# k {"parent"=>["name", 4]} v
# => nil
Я ожидал k
быть "lead"
и v
быть ["source", 2]
. Поскольку столбцы - это массив, а не хеш, я не могу сделать это (k,v)
, чтобы получить пару хэшей ключ/значение. Есть ли другой способ, который я могу использовать в списке аргументов, чтобы передать пару k/v вместо того, чтобы анализировать его в блоке?