Les fonctions
Une fonction est bloc représentant un petit bout de code réutilisable n'importe où, qui peut ou non retourner un résultat.
Définir une fonction¶
Pour définir une fonction, on utilise le mot clé function
puis on indique le prototype de la fonction. Il s'agit de donner le nom de la fonction, puis entre parenthèses chacun des paramètres attendus. Les paramètres de la fonction ne sont définis que dans la fonction, ils ne peuvent être utilisés en dehors de celle là, sauf si on créé une variable globale à partir de ces derniers par exemple. Par exemple, cette fonction ne prendra aucun argument et affichera "Hello world !" dans la console lors de son exécution.
function helloworld():
print "Hello world !"
Il est possible d'ajouter autant d'arguments que voulu à une fonction :
function repeat({text}, {repetitions}):
for {i} in numbers in range of {repetitions}:
print {text}
Cette fonction répètera dans la console le paramètre texte
le nombre de fois donné à l'argument repetitions
.
Pour retourner une valeur, il suffit d'utiliser l'action return
:
function exp({a},{b}):
return {a}^{b}
Ainsi, le résultat peut être utilisé n'importe où dans les autres actions ou expressions du script :
set {a} to exp(2,3) #a = 8
Danger
Attention ! Pour pouvoir appeler une fonction dans une expression ou dans une action, il faut impérativement que la fonction soit déclarée avant le bloc contenant l'expression ou l'action concernée !
Appeler une fonction¶
Pour appeler une fonction, il suffit d'écrire son nom, puis entre parenthèses, chacun des arguments à lui donner. Par exemple, ce code affichera le texte "Loading" 10 fois dans la console :
function repeat({text}, {repetitions}):
for {i} in numbers in range of {repetitions}:
print {text}
on script load:
repeat("Loading",10)
Info
Les fonctions supportent la récursivité. (?)
Importer une fonction d'un autre script¶
Pour importer une fonction d'un autre script, il suffit de l'indiquer dans un bloc imports
:
imports:
<nom_de_la_fonction> from <nom_du_script>
Le nom du script doit être celui donné au fichier, sans l'extension.
Pour importer toutes les fonctions d'un script, il suffit d'utiliser le symbole étoile *
au lieu du nom de la fonction.
Une fois qu'une fonction est importée, elle peut être utilisée n'importe où, de la même manière que si elle avait été définie dans le fichier du script.