Доступ к элементам вложенных хэшей в рубине [дубликат]

На этот вопрос уже есть ответ здесь:

Я работаю над небольшой утилитой, написанной на 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 не является ключом в структуре и т. Д.

31
задан Andrew Grimm 8 December 2011 в 22:31
поделиться