How to change Hash values?

后端 未结 12 1931
悲&欢浪女
悲&欢浪女 2020-12-12 11:22

I\'d like to replace each value in a hash with value.some_method.

For example, for given a simple hash:

{\"a\" => \"b\",         


        
12条回答
  •  一个人的身影
    2020-12-12 12:03

    Ruby has the tap method (1.8.7, 1.9.3 and 2.1.0) that's very useful for stuff like this.

    original_hash = { :a => 'a', :b => 'b' }
    original_hash.clone.tap{ |h| h.each{ |k,v| h[k] = v.upcase } }
    # => {:a=>"A", :b=>"B"}
    original_hash # => {:a=>"a", :b=>"b"}
    

提交回复
热议问题