мне нужно сортировать Hash в соответствии с порядком ключей, находящихся в другой массив:сортировки ключей хеша на основе порядка одинаковых ключей в массиве
hash = { a: 23, b: 12 }
array = [:b, :a]
required_hash #=> { b: 12, a: 23 }
Есть ли способ сделать это в одной строке?
Я не знаю, Руби, но концептуально хэш-карты не упорядочены. Но вы можете отсортировать значения, имеющие следующий выход '12, 23'. Попробуйте что-то вроде 'array.map {| k | хэш [к]} '. –
Каковы значения 'a' и' b'? – sawa
@engineer, поскольку Ruby v.1.9, появившийся несколько лет назад, сохраняется порядок вставки хеш-ключей. Идея хэш-ключей заказанного остается спорным, однако. Лично я использовал это свойство довольно много. –