Dichiarazioni di tipo
Un altro controllo che possiamo esercitare sui parametri di una funzione riguarda il tipo di questi parametri. Possiamo specificare un tipo di dato per ogni variabile, proprio come abbiamo fatto nel capitolo precedente con le tuple. Se il tipo di dato dell'argomento passato alla funzione non corrisponde a quello specificato nella definizione della funzione, verrà generato un errore.
Questo è un ulteriore modo per controllare le nostre funzioni ed evitare eccezioni indesiderate. Nell'attuale versione della funzione my_profit, potremmo passare una stringa a ciascun argomento, ma otterremmo un errore quando l'istruzione di ritorno tenta di sottrarre una stringa da un'altra stringa. Possiamo prevenirlo definendo il tipo di dato di ciascun parametro.
Nel seguente esempio, imposta il tipo di dato per ogni parametro della funzione.
Nota che, se proviamo a passare un tipo di dato che non coincide con quanto definito, otterremo l'errore:
MethodError: no method matching my_profit(::Int64, ::Int64)
Questo esercizio fa parte del corso
Julia intermedio
Istruzioni dell'esercizio
- Imposta il tipo di dato per ciascun parametro, dove
current_priceeprevious_pricedevono essere valoriFloat64, efeesdeve essere solo un valoreInt64.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)