Ruby 在散列中隔离和显示特定元素

Ruby 在散列中隔离和显示特定元素,ruby,Ruby,我目前在编写一个测试时遇到了问题,该测试解决了我的记录的资格设置问题。我很难从这个散列中取出一个特定元素 具体来说,我想通过在不同的函数中的其他地方进行更改来测试这一点,该函数更改特定玩家的最小年龄,因此我真正尝试测试的是资格设置。最小年龄。但我在测试中遇到了困难,无法将其分离出来 我的杂烩看起来像这样 { :name => "player1", :label => "redTeam_1_1",

我目前在编写一个测试时遇到了问题,该测试解决了我的记录的
资格设置问题。我很难从这个散列中取出一个特定元素

具体来说,我想通过在不同的函数中的其他地方进行更改来测试这一点,该函数更改特定玩家的最小年龄,因此我真正尝试测试的是
资格设置。最小年龄
。但我在测试中遇到了困难,无法将其分离出来

我的杂烩看起来像这样

{
                    :name => "player1",
                   :label => "redTeam_1_1",
                   :group => "adult",
                    :teamId => 7,
    :eligibility_settings => {
                          "min_age" => 18,
                    "player_gender" => "female",
              "union_players_only"  => true
    }
}
然而,当我尝试循环这个散列时,我在隔离这一个元素时遇到了困难

我试过类似的方法

team.get_players.first.map do |settings, value|
  value.tap do |x, y|
    y[3]
  end
end
然而,这似乎是我一直在尝试的,我的方法并不是很有效


有人知道我可以用这个做什么吗?

尽管@SergioTulentsev给出了正确的响应,但在将来,如果您要循环使用哈希,下面是一种迭代键并获取所需值的方法

 hash = {
                :name => "player1",
               :label => "redTeam_1_1",
               :group => "adult",
                :teamId => 7,
  :eligibility_settings => {
                      "min_age" => 18,
                "player_gender" => "female",
          "union_players_only"  => true
   }
}

hash.map do |settings, value|
 p hash[:eligibility_settings]['min_age'] if settings == :eligibility_settings
end # output 18

呵呵?为什么要迭代?直接获取值即可<代码>散列[:资格设置]['min\u age']
(根据您所说的散列的外观)天哪,我觉得我想得太多了,您完全正确。非常感谢你!