使用两个键从哈希获取值[关闭]

问题描述 投票:-3回答:2

我有一个hash,其键是两个元素的数组,如下所示:

logs_data = 
{
    [ 143184, 11467 ] => {
          :finished => true,
        :created_at => 2017-11-09 09:38:11 UTC
    },
    [ 143184, 11471 ] => {
          :finished => true,
        :created_at => 2017-12-20 07:21:02 UTC
    }
}

我不知道如何从密钥中获取值。我试过这种方式:

logs_data[143184, 11467]
#=> ArgumentError: wrong number of arguments (given 2, expected 1)

但它失败了。

ruby hash
2个回答
0
投票
2.4.2 :027 > logs_data.keys
 => [[143184, 11467], [143184, 11471]] 

你的关键是[143184, 11467]所以你必须像下面这样做hash[key]

2.4.2 :028 > logs_data[[143184, 11467]]
 => {:finished=>true, :created_at=> 2017-11-09 09:38:11 UTC} 

0
投票

你需要两组括号log_data [[key]]

在ruby中,您还可以执行logs_data.keys或logs_data.values

© www.soinside.com 2019 - 2024. All rights reserved.