加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何使用ruby更改小写的哈希键

发布时间:2020-12-17 01:47:13 所属栏目:百科 来源:网络整理
导读:给定嵌套文档的哈希: myHash = { "MemberId"="ABC0001","MemberName"="Alan","details"=[ {"LineNumber"="4.1","Item"="A0001","Description"="Apple"},{"LineNumber"="5.1","Item"="A0002"},{"LineNumber"="6.1","Item"="Orange"} ]} 我想改变它所以它看起
给定嵌套文档的哈希:

myHash = {
  "MemberId"=>"ABC0001","MemberName"=>"Alan","details"=>[
    {"LineNumber"=>"4.1","Item"=>"A0001","Description"=>"Apple"},{"LineNumber"=>"5.1","Item"=>"A0002"},{"LineNumber"=>"6.1","Item"=>"Orange"}
  ]
}

我想改变它所以它看起来像:

{
  "memberid"=>"ABC0001","membername"=>"Alan","details"=>[
    {"linenumber"=>"4.1","item"=>"A0001","description"=>"Apple"},{"linenumber"=>"5.1","item"=>"A0002"},{"linenumber"=>"6.1","item"=>"Orange"}
  ]
}

换句话说,我想在散列键中更改为小写.
我知道我将不得不遍历哈希并使用downcase方法.如果有任何简单的方法在ruby中这样做?

解决方法

class Hash
  def downcase_key
    keys.each do |k|
      store(k.downcase,Array === (v = delete(k)) ? v.map(&:downcase_key) : v)
    end
    self
  end
end

myHash.downcase_key

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读