Euphoria - Fonctions
Les fonctions Euphoria sont comme des procédures, mais elles renvoient une valeur et peuvent être utilisées dans une expression. Ce chapitre explique comment écrire vos propres fonctions dans Euphoria.
Définition de fonction
Avant d'utiliser une fonction, nous devons la définir. La manière la plus courante de définir une fonction dans Euphoria est d'utiliser lefunction mot-clé, suivi d'un nom de fonction unique, d'une liste de paramètres (qui peuvent être vides) et d'un bloc d'instructions qui se termine par end functiondéclaration. La syntaxe de base est présentée ici -
function functionname(parameter-list)
statements
..........
return [Euphoria Object]
end function
Exemple
Une fonction simple appelée sayHello qui ne prend aucun paramètre est définie ici -
function sayHello()
puts(1, "Hello there")
return 1
end function
Appeler une fonction
Pour appeler une fonction quelque part plus tard dans le script, vous auriez simplement besoin d'écrire le nom de cette fonction comme suit -
#!/home/euphoria-4.0b2/bin/eui
function sayHello()
puts(1, "Hello there")
return 1
end function
-- Call above defined function.
sayHello()
Cela produit le résultat suivant -
Hello there
Paramètres de fonction
Jusqu'à présent, nous avons vu la fonction sans paramètres. Mais il existe une possibilité de passer différents paramètres lors de l'appel d'une fonction. Ces paramètres passés peuvent être capturés dans la fonction et toute manipulation peut être effectuée sur ces paramètres.
Une fonction peut prendre plusieurs paramètres séparés par une virgule.
Exemple
Faisons une petite modification dans notre fonction sayHello . Cette fois, il faut deux paramètres -
#!/home/euphoria-4.0b2/bin/eui
function sayHello(sequence name,atom age)
printf(1, "%s is %d years old.", {name, age})
return 1
end function
-- Call above defined function.
sayHello("zara", 8)
Cela produit le résultat suivant -
zara is 8 years old.
La déclaration de retour
Une fonction Euphoria doit avoir une instruction return avant l'instruction de fermetureend function. Tout objet Euphoria peut être retourné. Vous pouvez, en effet, avoir plusieurs valeurs de retour, en renvoyant une séquence d'objets. Par exemple
return {x_pos, y_pos}
Si vous n'avez rien à renvoyer, renvoyez simplement 1 ou 0. La valeur de retour 1 indique le succès et 0 indique l'échec