ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Crea una función largest_value que:
    • si la entrada es String, use map para aplicar la función length a 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.
  • 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"))
Editar y ejecutar código