2013-02-17 5 views
2

Я пытаюсь определить структуру, которая может создать отношения «один ко многим», вроде. Например, предположим, что организация под названием «ACO» есть некоторые вещи:Хэш со многими массивами

KEY_PERF_INDS = [ {'ACO' => [2,3,4] , [2,34,5]} ] 

Но это синтаксически неправильно. Можно ли написать что-то, что достигает этого?

+1

ли 'ACO' должен быть массив подмассивов? ''ACO' => [[2,3,4], [2,34,5]]' –

+0

Да, это выглядит хорошо. Поэтому я хочу иметь одну структуру, которая говорит ACO .. эти ... «БОЛЬНИЦА» ... те .... «БЛА» ... эти ... так что мне нужен еще один слой вокруг того, что вы есть, поэтому у меня есть еще много таких вещей, как «ACO», что у них самих есть такие вещи, как эти цифры в arryas. – Bohn

+1

'HOSPITAL, BLAH' находятся на том же уровне, что и' ACO'? Это еще больше ключей в хеше ... '[{'ACO' => [[2,3,4], [3,4,5]], 'HOSPITAL' => [[1,2,3], [9,8]]}] ' –

ответ

2

Если другие группы HOSPITAL, BLAH, ETC (в комментариях) все должны быть на том же уровне, что и ACO, то вся структура KEY_PERF_INDS должна быть хэш {}, а не массив []. Сделайте каждый из них ключом к основному хэшу, и каждый из них представляет собой массив, содержащий подмассивы.

# The main structure is a hash {} 
KEY_PERF_INDS = { 
    'ACO' => [ 
    [1,2,3], 
    [4,5,6] 
    ], 
    'HOSPITAL' => [ 
    [3,2,1], 
    [9,8,7] 
    ], 
    'BLAH' => [ 
    [99,88], 
    [11,22], 
    [33,44] 
    ] 
} 

Access это то, как:

KEY_PERF_INDS['HOSPITAL'][1][2] 
# prints 7 

KEY_PERF_INDS['BLAH'].last.first 
# prints 33 
+0

именно то, что я искал. благодаря – Bohn

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