Decir

Decir

Intermedia

Introducción

Tu amigo Yaʻqūb atiende el mostrador del deli más concurrido de la ciudad, cortando, pesando y envolviendo pedidos para una fila interminable de clientes hambrientos. Para que todo avance, cada cliente toma una ficha numerada cuando llega.

Cuando es hora de llamar al siguiente, Yaʻqūb lee su número en voz alta, siempre con las palabras completas en inglés para asegurarse de que todos lo escuchen con claridad.

Instrucciones

Dado un número, tu tarea es expresarlo en palabras en inglés, exactamente como tu amigo debería decirlo en voz alta. Yaʻqūb espera usar números desde 0 hasta 999,999,999,999.

Ejemplos:

  • 0 → zero
  • 1 → one
  • 12 → twelve
  • 123 → one hundred twenty-three
  • 1,234 → one thousand two hundred thirty-four

Notas específicas del ejercicio para Rust

Esto es un poco diferente en la versión de Rust, en comparación con las versiones de este ejercicio en otros lenguajes. En lugar de pedirte que devuelvas errores para valores fuera de rango, usamos el sistema de tipos fuerte de Rust para limitar qué argumentos acepta. Es mucho más fácil hacer que una función trabaje con todos los argumentos válidos, en lugar de pedirle a quien use tu módulo que maneje los errores.

Extensión

Agrega la capacidad de convertir hasta el valor máximo de u64: 18_446_744_073_709_551_615.

Para ver pistas sobre la salida que debería tener, mira el último caso de prueba.

Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Rust Exercism

¿Todo listo para empezar Decir?

Regístrate en Exercism para aprender y dominar Rust con 99 ejercicios y mentoría humana real, todo gratis.