当前位置:  开发笔记 > 后端 > 正文

Ruby哈希的map_values()?

如何解决《Ruby哈希的map_values()?》经验,为你挑选了2个好方法。



1> sschmeck..:

Ruby 2.4引入了方法Hash#transform_valuesHash#transform_values!具有所需的行为.

h = { 1=>[9, 2, 3, 4], 2=>[6], 3=>[5, 7, 1] }
h..transform_values { |e| e.size }
#=> {1=>4, 2=>1, 3=>3}



2> Damiano Stof..:

你可以像这样修补哈希类

class Hash
  def map_values
    map { |k, v|
      [k, yield(v)]
    }.to_h
  end
end

p ({1 => [1,1,1,1], 2 => [2], 3 => [3,3,3]}.map_values { |e| e.size })

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有