Question

I'm trying to be really efficient with # of lines of code so I want to combine the following two lines of code:

my_hash["X"] = value
my_hash

If I take out the second line, then my function returns the wrong thing because it will only return the one element of the hash. Is there any way to add the element to the hash that will return the whole hash? Thanks in advance!

Was it helpful?

Solution

Do as below using merge! :

my_hash.merge!("X" => value)

OTHER TIPS

tap will yield the object to a block, and then return it:

my_hash.tap { |h| h['X'] = value }

Be aware that reducing lines of code for the sake of reducing lines of code only reduces readability and clarity of purpose, it rarely improves code quality.

my_hash.merge!( { 'X' => value } )
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top