На этот вопрос уже есть ответ здесь:
Я работаю над небольшой утилитой, написанной на Ruby, которая широко использует вложенные хэши. В настоящее время я проверяю доступ к вложенным хеш-элементам следующим образом:
structure = { :a => { :b => 'foo' }}
# I want structure[:a][:b]
value = nil
if structure.has_key?(:a) && structure[:a].has_key?(:b) then
value = structure[:a][:b]
end
Есть ли лучший способ сделать это? Я хотел бы иметь возможность сказать:
value = structure[:a][:b]
И получить nil
, если: a не является ключом в структуре
и т. Д.