La création de tables de hachage de hachages dans Ruby permet la pratique de deux (ou plus) dimensions des recherches. Cependant, lors de l'insertion, il faut toujours vérifier si le premier indice existe déjà dans la table de hachage. Par exemple:
h = Hash.new
h['x'] = Hash.new if not h.key?('x')
h['x']['y'] = value_to_insert
Il serait préférable d'effectuer les opérations suivantes lorsque la nouvelle valeur de Hachage est créé automatiquement:
h = Hash.new
h['x']['y'] = value_to_insert
De même, lorsque l'on cherche une valeur dans les cas où le premier indice n'existe pas déjà, il serait préférable que le nil est retourné plutôt que de recevoir une méthode non définie pour '[]' erreur.
looked_up_value = h['w']['z']
On pourrait créer un Hachage classe wrapper qui a ce problème, mais est-il un Rubis idiome pour accomplir cette tâche?