AD

¿Ya dominas lo básico? Un curso estructurado de Ruby es la vía rápida para dar el salto.

Ver cursos de Ruby en Udemy

Enlace de afiliado. No te cuesta nada extra.

💎Lecciones de Ruby
Lección 51 / 68

Métodos que funcionan con cualquier tipo

En esta lección escribirás un método que sirve para números, para textos y para lo que haga falta.

En Ruby no se declaran tipos, así que un método vale para cualquier objeto que responda a lo que el método usa. Si dentro comparas con >, funcionará con todo lo que sepa compararse.

El código de ejemplo compara dos números y luego dos palabras con el mismo método.

Esto se llama duck typing: no importa de qué clase sea el objeto, sino qué sabe hacer. La contrapartida es que el error no llega al escribir el código sino al ejecutarlo, y llega como NoMethodError o ArgumentError en un punto que puede estar muy lejos de donde se pasó el valor equivocado.

Con las palabras del ejemplo hay un detalle propio del español: la comparación de cadenas usa el orden de los códigos Unicode, donde todas las mayúsculas van antes que las minúsculas y las vocales con tilde van después de la z. Así que «Ángel» no queda donde lo pondría un diccionario. Para ordenar nombres de personas hace falta una comparación sensible al idioma, no la comparación por defecto.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Ruby directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)