ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • 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.

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)
Editar e executar o código