Kom igångKom igång gratis

Typdeklarationer

Ett annat sätt att styra funktionsparametrar är att definiera deras datatyp. Du kan ange en datatyp för varje variabel, precis som vi gjorde i föregående kapitel med tupler. Om datatypen för argumentet som skickas in i funktionen inte stämmer överens med den definierade datatypen, genereras ett fel.

Detta är ytterligare ett sätt att kontrollera våra funktioner och skydda dem mot oönskade undantag. I den nuvarande versionen av funktionen my_profit skulle vi kunna skicka in en sträng som argument – men det skulle resultera i ett fel när return-satsen försöker subtrahera en sträng från en annan. Genom att definiera datatypen för varje parameter kan vi förebygga det.

I exemplet nedan anger du datatypen för varje parameter i funktionen.

Observera att om vi försöker skicka in en datatyp som inte matchar den definierade, får vi följande fel:

MethodError: no method matching my_profit(::Int64, ::Int64)

Den här övningen är en del av kursen

Julia för medelnivå

Visa kurs

Övningsinstruktioner

  • Ange datatypen för varje parameter, där current_price och previous_price ska vara av typen Float64, och fees enbart ska vara ett Int64-värde.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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)
Redigera och kör kod