Multidespacho
El multidespacho es una de las grandes ventajas de Julia, ya que aporta flexibilidad y velocidad a tus programas. Recuerda que el multidespacho te permite ejecutar un método distinto según el tipo del argumento que se pasa a una función.
En el ejemplo del vídeo, se usó multidespacho para devolver un valor diferente según si el tipo del argumento era una cadena o no.
function add_values(x, y)
x + y
end
function add_values(x::String, y::String)
x * y
end
Este ejercicio forma parte del curso
Julia intermedio
Instrucciones del ejercicio
- Crea una función
largest_valueque:- si la entrada es
String, usemappara aplicar la funciónlengtha cada argumento(x, y, z). - si la entrada es
Bool, simplemente devuelve los argumentos. - si la entrada es de cualquier otro tipo, obtén el máximo de todos los valores usando
maximum.
- si la entrada es
- Elimina las líneas comentadas del final (los casos de prueba) y asegúrate de que la lógica tenga sentido.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Create three functions to handle any input, String input, and Bool input
function largest_value(x, y, z)
maximum((____, ____, ____))
end
function largest_value(x::____, y::____, z::____)
map(length, (____, ____, ____))
end
function largest_value(x::____, y::____, z::____)
x, y, z
end
# Un-comment this test case to test your function
#println(largest_value("12", "24", "36"))