有没有一种方法可以使用Ruby map(&:方法)的简写形式将键传递给数组中的所有散列?

o75abkj4  于 2022-10-15  发布在  Ruby
关注(0)|答案(1)|浏览(107)

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

a = [1, 3, 4]
a.map(&:to_f)

# => [1.0, 3.0, 4.0]

而不是a.map {|x| x.to_f }
哈希数组是否有等价物?对于EX:

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

# => [1, 5]

像这样的吗?这是对a.map { |x| x['first'] }的速记吗?
当我有许多嵌套哈希的大型数组要深入研究时,这将特别有用。

nhaq1z21

nhaq1z211#

Ruby2.7中引入了带编号的参数,这使得下面的代码成为实现您想要的内容的一种很好的快捷方式。

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

相关问题