ruby - 通过迭代哈希来构建新的哈希。最优雅的方式?

标签 ruby hash

一定有比这更优雅的方法吧?

rates = { 40 => 2.75, 25 => 3.25, 15 => 4.75 }

effective_rates = {}
rates.each do |depos, rate|
  effective_rates[depos] = rate/1200
end

最佳答案

没错。

rates = { 40 => 2.75, 25 => 3.25, 15 => 4.75 }
effective_rates = Hash[rates.map{|depos, rate| [depos, rate/1200]}]
# => {40=>0.0022916666666666667, 25=>0.0027083333333333334, 15=>0.003958333333333334}

关于ruby - 通过迭代哈希来构建新的哈希。最优雅的方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5863915/

相关文章:

ruby-on-rails - 渲染 'posts' 和渲染帖子(不带引号)之间的区别

php - 亚马逊 S3 重复数据删除?

algorithm - 从 SHA-512 哈希生成的字符不会保存到数据库中

hash - ABAP中文件的MD5哈希

ruby-on-rails - Ruby 单线故障?

ruby - 在 Ruby 中解析大文件的最快方法

ruby - 运行cmd <rake db:migrate>时出错-“未找到带有'primary'的连接池”

ruby-on-rails - 奇怪的 rspec 错误 `undefined method model_name`

arrays - 在 Ruby 中使用哈希键和值创建新数组

java - 我在java中实现了自己的哈希表,但是我需要使用值而不是键来删除对象