AD

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

Ver cursos de Julia en Udemy

Enlace de afiliado. No te cuesta nada extra.

🟣Lecciones de Julia
Lección 51 / 68

Funciones generales con parámetros de tipo

En esta lección escribirás una función que sirve para varios tipos sin repetirla.

function larger(a::T, b::T) where T declara un tipo T que se decide en cada llamada. Al usar el mismo nombre en ambos parámetros, se exige que sean del mismo tipo.

El código de ejemplo compara dos números y luego dos palabras con la misma función.

Esa restricción es más útil de lo que parece: impide llamar con un número y un texto, cosa que sin ella daría un error confuso más adelante. Se puede acotar más con where T <: Number, para admitir solo tipos numéricos.

Lo importante en Julia es que esto no cuesta nada en tiempo de ejecución: el compilador genera una versión especializada para cada combinación de tipos que se use realmente. Escribir código genérico y escribir código rápido no están reñidos aquí, y esa es precisamente la promesa del lenguaje.

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 las vocales con tilde van después de la z. Para ordenar nombres de personas hace falta una comparación sensible al idioma.

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

🧪 Este sitio no puede compilar ni ejecutar Julia 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)