Résolution de l'anagramme Ruby

Je suis désireux d'écrire un anagramme type de solveur en Ruby, mais il va travailler contre une liste de mots, comme si.

Liste de mots est:

the
these
one
owner

Je voudrais permettre à l'utilisateur de saisir des lettres, des e.g noe, et il recherche la liste de mots pour mots qu'il peut faire en utilisant les lettres que l'utilisateur a saisi et permettrait de ramener one et si ils sont entrés "eth" ou même "la" il permettrait de ramener the. J'ai essayé de penser à une manière efficace de faire cela, mais j'ai été boucle autour de chaque mot, remplacer une lettre dans le mot, la vérification du mot pour chaque lettre et les deux longueurs de match. Quelqu'un peut-il donner des conseils et une meilleure et plus efficace façon de le faire?

source d'informationauteur RailsSon