2013-05-25 3 views
0

Данные, которые я читаю из очереди RabbitMQ, имеют следующие значения: epoch, id, wait, length, max. Я хочу помещать эту информацию в хэш хешей. В Perl я бы сделал это так:Рубиновые хеши с первичным и вторичным ключом

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

This thread казался близким, но я либо не понимают ответов или это не то, что я ищу. Любая помощь была бы очень признательна в обучении тому, как это сделать в Ruby.

+0

Не очень уверен, что вы хотите. Каковы ваши исходные данные? как это выглядит? –

+1

Это зависит от того, как ваши данные будут отображаться. Можете ли вы предоставить то, что получаете? –

+0

http://rubylearning.com/satishtalim/ruby_hashes.html –

ответ

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 
+0

Просто никаких '%' и '$'! – squiguy

1

Хэш хэшей:

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

Чтобы получить доступ к '' Asdf значение:

mainHash[:h2]['asdf'] 

Как получить данные поместить в хэшей до данных. не

Смежные вопросы