Palavras-chave: ruby, array, hash, splat
Podemos converter facilmente um array com um número de elementos pares para uma hash da seguinte maneira:
array = %w(um 1 dois 2 tres 3) hash = Hash[*array] p hash
Executando o código:
{"tres"=>"3", "um"=>"1", "dois"=>"2"}
Convém prestar atenção no *, que nesse caso recebe o apelido carinhoso de operador splat. Ele vai “abrir” o array para o método [] da hash.
Se esquecermos de usar o * o método vai reclamar dizendo que recebeu um valor ímpar para a hash (e recebeu mesmo, apenas um array).