Создание хэшей хэшей в Ruby позволяет использовать два (или более) размерных поиска. Однако при вставке необходимо всегда проверять, существует ли первый индекс в хеше. Например:
h = Hash.new
h['x'] = Hash.new if not h.key?('x')
h['x']['y'] = value_to_insert
Было бы предпочтительнее сделать следующее, когда новый хэш создается автоматически:
h = Hash.new
h['x']['y'] = value_to_insert
Аналогично, при поиске значения, когда первый индекс еще не существует, было бы предпочтительным, если nil возвращается, а не получает метод undefined для ошибки [].
looked_up_value = h['w']['z']
Можно создать класс оболочки Hash, который имеет такое поведение, но существует ли в нем идиум Ruby для выполнения этой задачи?