首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby如何检查嵌套哈希中的值?

Ruby如何检查嵌套哈希中的值?
EN

Stack Overflow用户
提问于 2019-10-17 18:51:38
回答 1查看 43关注 0票数 1

我有一个像这样的嵌套散列,其中它可以有50个值:

代码语言:javascript
复制
{
 "pool1"=>{"name"=>"my-pool", "partition"=>"Common"},
 "pool2"=>{"name"=>"test-2", "partition"=>"baas"}
}

我正在尝试获取所有具有密钥"partition"=>"baas"的池。如下所示:

代码语言:javascript
复制
 {"pool7"=>{"name"=>"test-7", "partition"=>"baas"}
 {"pool12"=>{"name"=>"test-12", "partition"=>"baas"}
 {"pool18"=>{"name"=>"test-18", "partition"=>"baas"}}

这就是我想要做的。

代码语言:javascript
复制
def test(partition_name,hash)
        a = 1
        b = partition_name
        c = {}
        d = 1

        partition_hash.each do |i|

           f = i.fetch(":pool#{a}",{}.fetch(:partition, false))

            if f = b
                c["pool#{d + 1}"] = i
                d = d +1
            end
            a = a +1
        end
end

我现在得到一个错误,如下所示:

[no implicit conversion of String into Integer]

我该如何解决这个问题呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-17 18:56:22

为此,您只需要使用select

代码语言:javascript
复制
p hash.select { |_, value| value['partition'] == 'baas' }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58430890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档