Declarações de tipo
Outro controle que podemos aplicar sobre os parâmetros de uma função é o tipo desses parâmetros. Podemos especificar um tipo de dado para cada variável, assim como fizemos no capítulo anterior com tuplas. Se o tipo de dado do argumento passado para a função não corresponder ao tipo especificado quando a função foi definida, um erro será lançado.
Essa é outra forma de controlar nossas funções e protegê-las de exceções indesejadas. Na versão atual da nossa função my_profit, poderíamos passar uma string para cada argumento, mas receberíamos um erro quando a instrução de retorno tentasse subtrair uma string de outra. Podemos evitar isso definindo o tipo de dado de cada parâmetro.
No exemplo abaixo, defina o tipo de dado de cada parâmetro na função.
Observe que, se tentarmos passar um tipo de dado que não corresponde ao que definimos, receberemos o erro:
MethodError: no method matching my_profit(::Int64, ::Int64)
Este exercício faz parte do curso
Julia intermediário
Instruções do exercício
- Defina o tipo de dado de cada parâmetro, onde
current_priceeprevious_pricedevem ser valoresFloat64, efeesdeve ser apenas um valorInt64.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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)