使用两个键

时间:2017-12-20 08:31:51

标签: ruby hash

我有一个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)

但失败了。

2 个答案:

答案 0 :(得分: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} 

答案 1 :(得分:0)

您需要两组括号logs_data [[key]]

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