gpt4 book ai didi

ruby-on-rails - 如果嵌套哈希中不存在则创建 key

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

我一直在想办法更流畅地编写这段 ruby​​ 代码。有人有更好的解决方案吗?

a[:new] = {} if a[:new].nil?
a[:new].merge!( { new_key => new_value } )

有没有更优雅的方式来写这个?在处理需要检查键是否存在的嵌套哈希时,我经常遇到这种情况,如果不存在,则创建它。

最佳答案

借助Hash#to_h 编写如下和 NilClass#to_h

a[:new] = a[:new].to_h.merge( { new_key => new_value } )

示例:

hsh1[:a] # => nil
hsh1[:a] = hsh1[:a].to_h.merge({1=>2})
hsh1[:a] # => {1=>2}

hsh2 = {:a => {'k' => 2}}
hsh2[:a] # => {"k"=>2}
hsh2[:a] = hsh2[:a].to_h.merge({1=>2})
hsh2 # => {:a=>{"k"=>2, 1=>2}}

关于ruby-on-rails - 如果嵌套哈希中不存在则创建 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21486391/

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