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

javascript - Hide toolbar of pdf file opened inside iframe using firefox -

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

Copy range with conditional formatting -