Declaraciones de tipo
Otro control que podemos ejercer sobre los parámetros de nuestras funciones es el tipo de esos parámetros. Podemos especificar un tipo de dato para cada variable, igual que hicimos en el capítulo anterior con las tuplas. Si el tipo de dato del argumento pasado a la función no coincide con el tipo especificado al definirla, se lanzará un error.
Esta es otra manera de controlar nuestras funciones y protegerlas de excepciones no deseadas. En la versión actual de nuestra función my_profit, podríamos pasar una cadena a cada argumento, pero obtendríamos un error cuando la sentencia de retorno intente restar una cadena de otra. Podemos evitarlo definiendo el tipo de dato de cada parámetro.
En el siguiente ejemplo, establece el tipo de dato de cada parámetro en la función.
Ten en cuenta que, si intentamos pasar un tipo de dato que no coincide con lo que hemos definido, obtendremos el error:
MethodError: no method matching my_profit(::Int64, ::Int64)
Este ejercicio forma parte del curso
Julia intermedio
Instrucciones del ejercicio
- Establece el tipo de dato de cada parámetro, donde
current_priceyprevious_pricedeben ser valoresFloat64, yfeesdebe ser únicamente un valorInt64.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Define my_profit with three type-restricted arguments
function my_profit(previous_price____, current_price____, fees____=2)
return current_price - previous_price - fees
end
# Call my_profit, passing in values of the correct data type
my_profit(100.00, 105.00)