{NestedClass=>{"nested_attr"=>9}}}} 我使用的递归方法使我达到了这一点: {Class=>{"attr"-6ren">
gpt4 book ai didi

Ruby 嵌套哈希 'super' key 访问

转载 作者:太空宇宙 更新时间:2023-11-03 16:45:44 24 4
gpt4 key购买 nike

假设我们有这样的嵌套哈希:

{Class=>{"attr"=>{NestedClass=>{"nested_attr"=>9}}}}

我使用的递归方法使我达到了这一点:

{Class=>{"attr"=>{NestedClass=>{"nested_attr"=>9}}}}
^^^^^^^^^^^

其中 NestedClass 是键,{"nested_attr"=>9}}}} 是值。

现在,我想修改以将散列 {NestedClass=>{"nested_attr"=>9}}}} 更改为某个对象,但它需要像

{Class=>{"attr"=>some_new_object}}

怎样才能达到这样的效果?

这是我使用的示例方法:

def drill(hash)
hash.each do |key, value|
drill(value) if value.instance_of?(Hash)
build_partial(key, value) if class?(key)
end
end

最佳答案

好的,几分钟后我发布了这个,我发现它是如何工作的。这是代码:

def drill(hash)
hash.each do |key, value|
hash[key] = drill(value) if value.instance_of?(Hash)
return build_partial(key, value) if class?(key)
end
end

希望对有类似问题的人有所帮助。

关于Ruby 嵌套哈希 'super' key 访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33284913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com