Ruby使用主键和辅助键进行哈希处理

时间:2013-05-25 20:58:08

标签: ruby arrays perl hash

我从RabbitMQ队列读入的数据具有以下值:epoch, id, wait, length, max。我想把这些信息放入哈希哈希中。在Perl中,我会这样做:

%hash = ( $spid => { $epoch => { 'wait' => $wait, 'length' => $length, 'max' => $max } } );

This thread似乎很接近,但我要么不理解回复,要么就是我不想要的。在学习如何在Ruby中执行此操作时,将非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

散列哈希:

mainHash = {}
h1 = { 'test' => 1, 'test2' => 2}
h2 = { 'asdf' => 3 }
mainHash[:h1] = h1
mainHash[:h2] = h2

要访问'asdf'值:

mainHash[:h2]['asdf']

如何将数据放入哈希值取决于数据。

答案 1 :(得分:1)

没有太大区别:

epoch, id, wait, length, max = 1, 2, 3, 4, 5
hash = {id => {epoch => {'wait' => wait, 'length' => length, 'max' => max}}}
p hash                 # => {2=>{1=>{"wait"=>3, "length"=>4, "max"=>5}}}
puts hash[2][1]["max"] # => 5