だから私はいくつかのコードを次のように見せています:
@foo ||= {}
@foo[:bar] ||= {}
@foo[:bar][:baz] ||= {}
私はパフォーマンスではなく、清潔さを気にしています。これを行うためのより美しい方法またはより良い方法はありますか?
だから私はいくつかのコードを次のように見せています:
@foo ||= {}
@foo[:bar] ||= {}
@foo[:bar][:baz] ||= {}
私はパフォーマンスではなく、清潔さを気にしています。これを行うためのより美しい方法またはより良い方法はありますか?
{:bar => {:baz => {}}}.merge(@foo)
あなたが持っているのは、コードを書くための良い、簡潔な方法だと思いますが、以下は私が同じことをすることを考えた別の方法です。もっと冗長にしたい場合は、それでも機能します。
if @foo.nil?
@foo = { :bar => { :baz => {} } }
else if @foo[:bar].nil?
@foo[:bar] = { :baz => {} }
else if @foo[:bar][:baz].nil?
@foo[:bar][:baz] = {}
end
また
if !@foo
@foo = { :bar => { :baz => {} } }
else if !@foo[:bar]
@foo[:bar] = { :baz => {} }
else if !@foo[:bar][:baz]
@foo[:bar][:baz] = {}
end