Raízes latinas: prefixos

Escreva uma classe Prefix. A classe deve ter um único getter: prefixes, que é inicializado como um hash vazio. Cada par (chave, valor) desse hash será um prefixo associado às palavras que começam com esse prefixo.

A classe Prefix deve ter três métodos de instância:

  • add_prefixes: Recebe como entrada uma lista variável de prefixos.
  • add_words: Recebe como entrada uma lista variável de palavras.
  • sort: Ordena os grupos de prefixos e palavras em ordem lexicográfica pelo prefixo.

Para ilustrar, se criarmos uma instância da classe Prefix:

Exemplos

prefix_list = Prefix.new
prefix_list.add_prefixes("auto", "aqua", "amphi")
prefix_list.add_words("automate", "automobile", "automotive", "amphibian", "aquarium")
prefix_list.sort

prefix_list.prefixes
# {"amphi"=>["amphibian"],
# "aqua"=>["aquarium"],
# "auto"=>["automate", "automobile", "automotive"]}

Notas

As palavras de cada par chave-valor de prefixo devem permanecer na mesma ordem em que foram inseridas.