在Ruby哈希中连接值

在Ruby哈希中连接值,ruby,Ruby,我有一个数组,包含如下所示的散列。我试图加入这些散列的文本部分,这是我想到的最好的部分 array_hashes = [{"seq"=>0, "text"=>"got"}, {"type"=>"ignore", "seq"=>1, "text"=>"to"}, {"seq"=>2, "text"=>"go"}] a = Array.new array_hashes.each {|h| a

我有一个数组,包含如下所示的散列。我试图加入这些散列的文本部分,这是我想到的最好的部分

array_hashes = [{"seq"=>0, "text"=>"got"},
                {"type"=>"ignore", "seq"=>1, "text"=>"to"}, 
                {"seq"=>2, "text"=>"go"}]

a = Array.new
array_hashes.each {|h| a << h["text"]}
a.join("-")

=> got-to-go
array_hashes=[{“seq”=>0,“text”=>“got”},
{“type”=>“ignore”,“seq”=>1,“text”=>“to”},
{“seq”=>2,“text”=>go}]
a=数组。新
数组散列。每个{h | a都要去
有没有更好的方法来写这篇文章?

我会这样做:

array_hashes = [{"seq"=>0, "text"=>"got"},
                {"type"=>"ignore", "seq"=>1, "text"=>"to"}, 
                {"seq"=>2, "text"=>"go"}]
array_hashes.map{|h| h['text']}.join("-")
# => "got-to-go"
我会这样做:

array_hashes = [{"seq"=>0, "text"=>"got"},
                {"type"=>"ignore", "seq"=>1, "text"=>"to"}, 
                {"seq"=>2, "text"=>"go"}]
array_hashes.map{|h| h['text']}.join("-")
# => "got-to-go"

如果您从一个可枚举对象(如散列或数组)开始,并且希望另一个数组中的每个项都以某种方式进行转换,
map
通常正是您想要的。谢谢!我最初的代码与@Arup Rakshit的代码完全相同,但带有“each”它只是简单地返回原始数组。映射就是!如果您从一个可枚举对象(如哈希或数组)开始,并且您想要另一个数组,其中每个项目都以某种方式进行转换,
Map
通常正是您想要的。谢谢!我最初的代码与@Arup Rakshit的代码完全相同,但带有一个“each”它只是简单地返回原始数组。映射它!