CommencezCommencez gratuitement

Déclarations de type

Un autre contrôle que nous pouvons exercer sur les paramètres de nos fonctions concerne leur type. Nous pouvons préciser un type de données pour chaque variable, comme nous l'avons fait au chapitre précédent avec les tuples. Si le type de données de l'argument passé à la fonction ne correspond pas à celui précisé lors de la définition de la fonction, une erreur est générée.

C'est une autre façon de maîtriser nos fonctions et de les protéger contre des exceptions indésirables. Dans la version actuelle de notre fonction my_profit, nous pourrions passer une chaîne de caractères à chaque argument, mais une erreur surviendrait lorsque l'instruction de retour essaie de soustraire une chaîne d'une autre. Nous pouvons nous en prémunir en définissant le type de données de chaque paramètre.

Dans l'exemple ci-dessous, définissez le type de données de chaque paramètre de la fonction.

Notez que si nous tentons de passer un type de données qui ne correspond pas à ce que nous avons défini, nous obtiendrons l'erreur :

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

Cette activité fait partie du cours

Julia intermédiaire

Voir le cours

Instructions de l’exercice

  • Définissez le type de données de chaque paramètre : current_price et previous_price doivent être de type Float64, et fees doit être uniquement de type Int64.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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)
Modifier et exécuter le code