Comece agoraComece grátis

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 exercicio faz parte do curso

Julia intermediário

Ver curso

Instruções do exercicio

  • Defina o tipo de dado de cada parâmetro, onde current_price e previous_price devem ser valores Float64, e fees deve ser apenas um valor Int64.

exercicio interativo prático

Tente este exercicio 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)
Editar e Executar Código