¿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 UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02Tu primera salida (println)
- 03Usar variables
- 04Condicionales (la sentencia if)
- 05Repetir con bucles (for)
- 06Escribir tu propia función
- 07Trabajar con arrays
- 08Repetir con while
- 09Trabajar con structs
- 10Gestión de errores (try-catch)
- 11Ordenar un array
- 12Funciones recursivas
- 13Usar las funciones que ya vienen
- 14Los fundamentos del despacho múltiple
- 15El operador ternario
- 16Construir una jerarquía con tipos abstractos
- 17Escribir comentarios
- 18Operadores lógicos (&&, ||, !)
- 19Constantes (const)
- 20Partir y unir cadenas (split y join)
- 21Escribir código a prueba de nothing
- 22Buscar en un array (in)
- 23Transformar un array con map
- 24Arrays bidimensionales (datos en forma de tabla)
- 25Crear tu propio tipo de excepción
- 26Argumentos con valor por defecto
- 27Colecciones sin duplicados con Set
- 28Comprobar que el código es correcto (primer paso hacia las pruebas)
- 29Funciones de orden superior
- 30Pilas y colas (estructuras de datos básicas)
- 31Conversión de tipos
- 32Introducción a las expresiones regulares
- 33El algoritmo de búsqueda binaria
- 34Construir un cifrado César
- 35Entender cómo funciona la ordenación de burbuja
- 36Construir y mostrar una fecha
- 37Escribir varias pruebas juntas
- 38Acelerar cálculos con memoización
- 39Normalizar cadenas (strip y mayúsculas)
- 40Copia superficial y copia profunda
- 41Enumeraciones básicas
- 42Aplanar un array
- 43Invertir una cadena y detectar palíndromos
- 44Emparejar dos arrays (la operación zip)
- 45Redondear números (floor, ceil, round)
- 46Cadenas de varias líneas (comillas triples)
- 47Devolver varios valores desde una función
- 48Calcular el MCD y el MCM
- 49Dar formato a los números
- 50Limpieza con try / catch / finally
- 51Funciones generales con parámetros de tipo
- 52Leer y escribir archivos
- 53Generar números aleatorios
- 54Operaciones a nivel de bits
- 55Recibir argumentos de la línea de órdenes
- 56Esperar un tiempo determinado (sleep)
- 57Cuidado con los errores de la coma flotante
- 58Leer un valor de la entrada estándar
- 59FizzBuzz (el ejercicio clásico)
- 60Comprobar si un número es primo
- 61Operaciones de conjuntos con Set
- 62Convertir entre bases (binario y hexadecimal)
- 63Comprobar el equilibrio de los paréntesis
- 64Comprobar si dos palabras son anagramas
- 65Comprobar si un año es bisiesto
- 66Convertir temperaturas
- 67Descomponer en factores primos
- 68[Aplicado] Un pequeño gestor de inventario
Los fundamentos del despacho múltiple
En esta lección definirás varias versiones de una misma función y dejarás que Julia elija según el tipo.
Se declaran dos funciones con el mismo nombre y distinto tipo de argumento. Al llamar, Julia escoge la que corresponde.
El código de ejemplo define speak para un texto y para un entero.
Esto es el despacho múltiple, y es la idea central de Julia — no una característica más. En un lenguaje orientado a objetos, el método se elige según el tipo de un objeto, el que está antes del punto. Aquí se elige según los tipos de todos los argumentos a la vez.
La consecuencia práctica es notable: se pueden añadir versiones de una función existente para tipos nuevos sin tocar el código original ni el del tipo. Por eso en Julia dos paquetes que no se conocen entre sí suelen funcionar juntos sin adaptadores — algo que en otros ecosistemas exige envoltorios.
El precio es la ambigüedad: si dos versiones encajan igual de bien, Julia da un error de método ambiguo y hay que desempatar con una versión más específica. Y conviene saber que methods(nombre) lista todas las versiones definidas, que es la forma de orientarse en una biblioteca ajena.
🧪 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).
