数组 – 使用键数组遍历嵌套的Ruby哈希
发布时间:2020-12-17 03:50:22 所属栏目:百科 来源:网络整理
导读:给定具有n级嵌套值的哈希,字段名称和路径 contact = { "Email" = "bob@bob.com","Account" = { "Exchange" = true,"Gmail" = false,"Team" = { "Closing_Sales" = "Bob Troy","Record" = 1234 } }}field = "Record"path = ["Account","Team"] #Must support
给定具有n级嵌套值的哈希,字段名称和路径
contact = { "Email" => "bob@bob.com","Account" => { "Exchange" => true,"Gmail" => false,"Team" => { "Closing_Sales" => "Bob Troy","Record" => 1234 } } } field = "Record" path = ["Account","Team"] #Must support arbitrary path length 如何定义一个方法来检索路径末尾的字段值. def get_value(hash,field,path) ? end get_value(contact,"Record",["Account","Team"]) => 1234 解决方法
让我们将“字段”视为“路径”的最后一个元素.那就简单了
def grab_it(h,path) h.dig(*path) end grab_it contact,"Team","Record"] #=> 1234 grab_it contact,"Rabbit"] #=> nil grab_it(contact,"Team"] # => {"Closing_Sales"=>"Bob Troy","Record"=>1234} grab_it contact,["Account"] #=> {"Exchange"=>true,"Gmail"=>false,"Team"=>{"Closing_Sales"=>"Bob Troy",# "Record"=>1234}} 在v2.3中添加了Hash#dig. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何在F#中使用LINQ to XML提取特定标签?
- Oracle 在open一个插入的pdb时向cdb$root中插入datafile信息
- 存储过程中调用EXECUTE IMMEDIATE的“权限不足”
- 使用CRichEditCtrl与正则实现XML高亮编辑器
- Qt: QXmlStreamWriter Class写XML文件
- 第三十六讲:tapestry Ajax 表单(form)
- cocos3d摄像机理解
- 没有二进制ruby可用于:osx / 10.8 / x86_64 / ruby??-1.9.
- ruby-on-rails – 比every_slice更平衡的数组操作?
- cocos2d-lua 不渲染纹理,保存当前场景纹理为图片的方法