CommencerCommencer 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 dans le chapitre précédent avec les tuples. Si le type de données de l’argument passé à la fonction ne correspond pas à celui indiqué lors de la définition de la fonction, une erreur est levée.

C’est un moyen supplémentaire 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 nous obtiendrions une erreur lorsque l’instruction de retour tenterait de soustraire une chaîne d’une autre. Nous pouvons éviter cela en définissant le type de chaque paramètre.

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

Notez que si nous essayons 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)

Cet exercice fait partie du cours

Julia intermédiaire

Afficher le cours

Instructions

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

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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