从Ruby中的嵌套哈希获取特定值
我有一个如下所示的散列:从Ruby中的嵌套哈希获取特定值,ruby,hash,Ruby,Hash,我有一个如下所示的散列: get_fru = {"default_fru_device"=> {:name=>"default_fru_device", "chassis_type"=>"Other", "board_manufacturer"=>"IBM", "product_name"=>"System x3650 M4" } } 我知道,如果我想获取product\u name的值,我可以简单地执行get\
get_fru =
{"default_fru_device"=>
{:name=>"default_fru_device",
"chassis_type"=>"Other",
"board_manufacturer"=>"IBM",
"product_name"=>"System x3650 M4"
}
}
我知道,如果我想获取product\u name
的值,我可以简单地执行get\u fru[“default\u fru\u device”][“product\u name”]
,在本例中,它将返回System x3650 M4
但是,如果我想获取值IBM
和System x3650 M4
,并将它们显示为一个字符串,表示IBM System x3650 M4
,我将如何实现这一目标?您可以使用和:
您可以使用和:
要在ruby中连接字符串吗?如果是这样,您可以使用
“{get_-fru[“default_-fru-u-u-u-device”][“board_-manufacturer”]}{get_-fru[“default_-u-fru-u-u-u-u-device”][“product_-name”]}”
谢谢-但是有更干净的方法来实现这一点吗?字符串中缺少“System”。它是计划好的吗?您可以使用+
(与字符串一起使用时连接):my\u String=get\u fru[“default\u fru device”][“board\u manufacturer”]}+“+get\u fru[“default\u fru device”][“product\u name”]
。但是@EricDuminil的答案很好。@EricDuminil对不起,我忘了包括“系统”。是打字错误。你想用ruby连接字符串吗?如果是这样,您可以使用“{get_-fru[“default_-fru-u-u-u-device”][“board_-manufacturer”]}{get_-fru[“default_-u-fru-u-u-u-u-device”][“product_-name”]}”
谢谢-但是有更干净的方法来实现这一点吗?字符串中缺少“System”。它是计划好的吗?您可以使用+
(与字符串一起使用时连接):my\u String=get\u fru[“default\u fru device”][“board\u manufacturer”]}+“+get\u fru[“default\u fru device”][“product\u name”]
。但是@EricDuminil的答案很好。@EricDuminil对不起,我忘了包括“系统”。是个打字错误。谢谢-又漂亮又干净。这就是我要找的。谢谢-干净漂亮。这就是我要找的。
get_fru["default_fru_device"].values_at('board_manufacturer', 'product_name').join(' ')
#=> "IBM System x3650 M4"