Объединение значений в хэш-код 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 << h["text"]}
a.join("-")

=> got-to-go

Есть ли лучший способ написать это?

1 ответ

Я бы сделал так:

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"

licensed under cc by-sa 3.0 with attribution.