【发布时间】:2018-04-24 05:08:11
【问题描述】:
我需要过滤嵌套散列以返回特定属性组合的项目。如果属性存在,则返回该哈希值,如果属性不存在,则返回默认值。如果该属性设置为“无”,则它不返回任何内容。考虑以下哈希:
{
"size"=>{
"default"=>{
"jeans"=>"boyfriend"
},
"blue"=>"none"
},
"style"=>{
"default"=>{
"shoes"=>"boots"
},
"blue"=>{
"jeans"=>"jeggings"
}
}
}
如果颜色是'黑色',那么
{
"size"=>{
"jeans"=>"boyfriend"
},
"style"=>{
"shoes"=>"boots"
}
}
或者如果颜色是“蓝色”,那么
{
"size"=>{
},
"style"=>{
"jeans"=>"jeggings"
}
}
最好的方法是什么?我尝试了选择和删除的各种组合,但最终得到一个包含颜色键的数组或哈希。
【问题讨论】:
-
你能提供你的代码示例吗?
-
您遇到问题的代码是什么?你的代码有什么问题?您收到错误消息吗?错误信息是什么?你得到的结果不是你期望的结果吗?你期望什么结果,为什么,你得到的结果是什么,两者有什么不同?您正在观察的行为不是期望的行为吗?期望的行为是什么,为什么,观察到的行为是什么,它们有何不同?请提供minimal reproducible example。
-
“最好的方法是什么?” – 你通过编写一个程序来做到这一点。如果您的程序有问题,请仔细阅读您正在使用的所有方法、类、模块和库的文档,为您的程序编写测试,用笔和纸跟踪执行,在调试器中单步执行,然后睡在上面,从头开始,再睡在上面,然后然后,然后在Stack Overflow上提出一个有针对性的、狭隘的问题。
-
@JörgWMittag 公平评论,但可能有点矫枉过正
标签: ruby ruby-on-rails-4 hash