ruby - Hash of hashes from an array -


from array:

this = [1, 2, 3, 4, 5] 

i trying create hash of hashes:

{{num: 1}, {num: 2}, {num: 3}, {num: 4}, {num: 5}} 

but i'm getting empty hash:

hash.new(this.each |num| hash.new(num: num) end) # => {} 

what doing wrong?

first, desired result in question doesn't make sense since you're using hash {} syntax, there no keys. seems though want result array of hashes.

second, you're confusing each map. each iterates through array, passing each item block. return value of arr.each arr. map, on other hand, returns new array based on return value of block:

[1, 2, 3, 4, 5].map { |item| { num: item } } 

Comments

Popular posts from this blog

Ansible - ERROR! the field 'hosts' is required but was not set -

customize file_field button ruby on rails -

SoapUI on windows 10 - high DPI/4K scaling issue -