将一个哈希值映射到其他哈希红宝石

时间:2020-06-09 05:44:41

标签: ruby

我有一个哈希,它通过以下方式为我提供数据:

details = [{"severity_longevity" => "Medium", "operating_leverage" => "High",
        "financial_leverage"=> "Low", "revenue_growth"=> "Low"}]

I have one hash which gives me the score that I am supposed to assign.

得分= [{“低” => 5},{“中” => 10},{“高” => 15}]

如何更改details哈希中的“中”,“低”和“高”,以及它们的分数 score哈希?

1 个答案:

答案 0 :(得分:2)

对于哈希,您可以使用transform_values方法

details = {
  "severity_longevity" => "Medium", 
  "operating_leverage" => "High",
  "financial_leverage"=> "Low", 
  "revenue_growth"=> "Low"
}
score = {"Low" => 5, "Medium" => 10, "High" => 15}

updated = details.transform_values { |v| score[v] }
# => { "severity_longevity" => 10, ... }