Я использую Ruby on Rails 3.0.7, и я хотел бы отсортировать hash
с учетом заданного порядка, возвращая отсортированный array
или даже новый отсортированный hash
.То есть, учитывая следующее hash
, скажем, HASH1 (для которого я считаю, что его значения указывают метод порядка от 1 до 4)
{
:dog => 3,
:cat => 2,
:pig => 4,
:frog => 1
}
Я бы хотел отсортировать остальные hash
по ключускажем, HASH2, учитывая порядок, указанный в значениях HASH1
{
:cat => 'cat_value',
:dog => 'dog_value',
:frog => 'frog_value',
:pig => 'pig_value'
}
Итак, в вышеприведенном случае я должен иметь вывод \ упорядоченный hash
, как показано ниже:
{
:frog => 'frog_value', # Order indicated by ':frog => 1' in the HASH1
:cat => 'cat_value', # Order indicated by ':cat => 2' in the HASH1
:dog => 'dog_value', # Order indicated by ':dog => 3' in the HASH1
:pig => 'pig_value' # Order indicated by ':pig => 4' in the HASH1
}
или
[
["frog", 'frog_value'], # Order indicated by ':frog => 1' in the HASH1
["cat", 'cat_value'], # Order indicated by ':cat => 2' in the HASH1
["dog", 'dog_value'], # Order indicated by ':dog => 3' in the HASH1
["pig", 'pig_value'] # Order indicated by ':pig => 4' in the HASH1
]
Как я могу это сделать?