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

css - I want to align grid in center -

Contact Form PHP Email Script -

python - SWIG function not printing output -