Я работаю с небольшой утилитой, написанной на рубине, которая широко использует вложенные хеши. В настоящее время я проверяю доступ к вложенным хэш-элементам следующим образом:
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 не является ключом в structure
и т.д.