Quand on est amené à faire du hachage en ruby, on fait des trucs genre:

tableau[cle] << donnee

Bien sur si c'est la première fois qu'on croise cette clé alors on aura une erreur genre:

NoMethodError: undefined method `<<' for nil:NilClass

Donc à la place on fait:

tableau[cle] = [donnee]

Au final ca donne:

if tableau[cle].nil? then
   tableau[cle] = [donnee]
else
    tableau[cle] << donnee
end

Bien sûr c'est horriblement laid et ca prend de la place et ca fait perdre du temps, bref ca pue. Donc, alternative, donnons à notre Hash 'tableau' une valeur par défaut autre qu'un nil, soit un Array ici:

tableau = Hash.new { |h,k| h[k] = [] }
tableau[cle] << donnee

Et puis le hachage, c'est bien :) Bonsoir les loutres.