我需要一个方法来获取一个散列并返回一个散列,它的键来自旧散列,值是旧散列中数组的大小即。,
{ 1 => [1,1,1], 2 => [3,4,5], 7 => [9,12] }
# return
{ 1 => 3, 2 => 3, 7 => 2 }
有什么办法可以实施吗?
最佳答案
单程:
h = { 1 => [1,1,1], 2 => [3,4,5], 7 => [9,12] }
h.merge(h) { |*_,a| a.size }
#=> { 1 => 3, 2 => 3, 7 => 2 }