h = {
data: {
user: {
value: "John Doe"
}
}
}
をネストされたハッシュに値を割り当てるには真ん中のどの部分が欠落している場合、我々はしかしは、安全ハッシュ#掘るかロンリー演算子を使用して、ネストされたハッシュに値を代入(&)
h[:data][:user][:value] = "Bob"
を使用することができますエラーが発生します。まだ使用可能なHash#dig=
はありませんので、
h.dig(:data, :user, :value) = "Bob"
よう
何かが、動作しません。 、我々は
h.dig(:data, :user)&.[]=(:value, "Bob") # or equivalently
h.dig(:data, :user)&.store(:value, "Bob")
を行うことができます
は安全に値を割り当てるには、しかし、それを行うには良い方法はありますか?
何が価値があるために、これは(ここでは議論されてきましたMatzによって拒否されました(当分の間):https://bugs.ruby-lang.org/issues/11747 –