ruby - Add something to hash value if key exists? -


i have hash in ruby:

hash = hash.new 

it has key value pairs in it, say:

hash[1] = "one" hash[2] = "two" 

if hash contains key 2, want add "bananas" value. if hash doesn't have key 2, want create new key value pair 2=>"bananas".

i know can first checkng whether hash has key 2 using has_key? , act accordingly. requires if statement , more 1 line.

so there simple, elegant one-liner achieving this?

this works:

hash[2] = (hash[2] || '') + 'bananas' 

if want keys behave way, use "default" feature of ruby's hash:

hash = {} hash.default_proc = proc { '' } hash[2] += 'bananas' 

Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -