有没有办法使用 Ruby map(&:method) 速记将密钥传递给数组中的所有哈希?



我非常习惯使用ruby&作为数组方法的简写,例如:

a = [1, 3, 4]
a.map(&:to_f)
# => [1.0, 3.0, 4.0]

而不是a.map {|x| x.to_f }

哈希数组有等价物吗?例如:

a = [{'first' => 1, 'second' => 4}, {'first' => 5, 'second' => 6}]
a.map(&:'first')
# => [1, 5]

像这样的东西?这是a.map { |x| x['first'] }的简写?

当我有很多嵌套散列的大数组要深入研究时,这将特别有用。

在ruby 2.7中引入了带编号的参数,这使得以下方法成为实现您想要的目标的一种简单方法。

a = [{ "first" => 1, "second" => 4 }, { "first" => 5, "second" => 6 }]
a.map {_1['first']}

最新更新