Raíces latinas: prefijos

Escribe una clase Prefix. La clase debe tener un único getter: prefixes, que se inicializa como un hash vacío. Cada par (clave, valor) de este hash será un prefijo asociado con las palabras que comienzan con ese prefijo.

La clase Prefix debe tener tres métodos de instancia:

  • add_prefixes: Recibe como entrada una lista variable de prefijos.
  • add_words: Recibe como entrada una lista variable de palabras.
  • sort: Ordena los grupos de prefijos y palabras en orden lexicográfico según el prefijo.

Para ilustrarlo, si creamos una instancia de la clase Prefix:

Ejemplos

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

Las palabras de cada par clave-valor de prefijo deben conservar el mismo orden en que fueron introducidas.