Les fonctions en Julia
Voici une présentation de base des fonctions en Julia, d’après ce que j’en ai retenu ;)
Tout d’abord, une définition d’une fonction nommée double
:
On voit que la valeur de retour est implicite, pas besoin du mot-clé
return
. On peut le mettre si on veut, la fonction suivante est identique
à la précédente:
Et voilà comment on appelle cette fonction, rien à dire de particulier là-dessus:
Quand une fonction est aussi simple que la fonction double
, on peut aussi
la définir comme suit:
Si notre programme comporte de nombreuses petites fonctions, cette concision peut être un atout.
Une fonction Julia est une valeur comme une autre:
On peut donc affecter cette valeur à une autre variable:
On peut passer une fonction en argument:
Un truc sympa en Julia, c’est qu’une fonction est composée de une ou plusieurs méthodes ! Quand j’ai lu ça la première fois… j’ai pensé que l’auteur de cette phrase était dingue. En fait il s’agit simplement de fonctions avec un nom identique mais des signatures différentes. Par exemple, si j’essaye de doubler une chaîne de caractères:
J’obtiens une erreur car il n’y a pas de fonction +
pour les strings.
Je vais donc ajouter une seconde méthode à la fonction double
, qui
s’occupera du cas particulier des chaînes de caractères:
Au passage, le caractère $
permet l’interpolation. Plus intéressant, on voit
que j’ai donné un type à l’argument x
. Quand double
recevra un argument
de type String, c’est cette version (méthode) de la fonction qui sera
utilisée:
Alors que dans tous les autres cas, ce sera la version (méthode) générique qui sera utilisée:
À demain.