ruby – 如何使用嵌套哈希的fetch方法?
发布时间:2020-12-16 19:27:14 所属栏目:百科 来源:网络整理
导读:我有以下哈希: hash = {'name' = { 'Mike' = { 'age' = 10,'gender' = 'm' } } } 我可以通过以下方式访问年龄: hash['name']['Mike']['age'] 如果我使用 Hash#fetch 方法怎么办?如何从嵌套哈希中检索密钥? 正如塞尔吉奥所说,做到这一点的方式(不为自己创
我有以下哈希:
hash = {'name' => { 'Mike' => { 'age' => 10,'gender' => 'm' } } } 我可以通过以下方式访问年龄: hash['name']['Mike']['age'] 如果我使用 正如塞尔吉奥所说,做到这一点的方式(不为自己创造一些东西)将是一系列的获取方法: hash.fetch('name').fetch('Mike').fetch('age') 解决方法
我所知道的没有内置方法.我在我目前的项目中有这个
class Hash def fetch_path(*parts) parts.reduce(self) do |memo,key| memo[key.to_s] if memo end end end # usage hash.fetch_path('name','Mike','age') 您可以轻松修改它以使用#fetch而不是#[](如果您愿意). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 精益 React 学习指南 (Lean React)- 1.3 React 组件
- Kubernetes-6:Pod生命周期介绍(init Container)
- 可以(或可以)通过将名称括在括号中来抑制C中的宏替换
- OpenWRT的包依赖 package DEPEND
- flash运用sendAndLoad()连接数据库
- 如何在Symfony 2.0 AJAX应用程序中将Doctrine实体编码为JSO
- 如何在Oracle SQL * Plus中显示LOB列的完整内容?
- 使用 Trace32 对 FLASH 编程
- ruby-on-rails – 为什么Capybara在一次活动之后丢弃我的会
- treeView控件实例--Ajax局部刷新