从Ruby中嵌套哈希获取特定值

时间:2017-01-27 22:31:07

标签: ruby hash

我有一个看起来像这样的哈希:

get_fru = 
  {"default_fru_device"=>
    {:name=>"default_fru_device",
    "chassis_type"=>"Other",
    "board_manufacturer"=>"IBM",
    "product_name"=>"System x3650 M4"
    }
   }

我知道,如果我想获得product_name的价值,我可以简单地执行get_fru["default_fru_device"]["product_name"],在此示例中,我会返回System x3650 M4

但是,如果我想获取值IBMSystem x3650 M4并将它们显示为一个表示IBM System x3650 M4的字符串,那么我将如何实现这一目标?

1 个答案:

答案 0 :(得分:2)

您可以使用Hash#values_atArray#join

get_fru["default_fru_device"].values_at('board_manufacturer', 'product_name').join(' ')
#=> "IBM System x3650 M4"