Lua: Le tutoriel  wxWidgets
Lua
Les fonctions: Qu'est-ce qu'une fonction?.

Définition.

Une fonction est un terme générique qui désigne une partie d'un programme indépendant qui peut être appelée par un autre programme ou par elle même. ( dans ce cas, on dit qu'il y a récursivité )

Une fonction ( aussi appelé "routine" ), est une portion de code représentant un bloc et contenant un sous programme.

Suivant le langage utilisé et plus généralement en POO, l'on parlera aussi de méthode.( voir § suivant )

Mais pour ce qui nous intéresse ici, le langage Lua, nous parlerons tout simplement de fonction.

  • On envoie à une fonction des "paramètres". (param)
  • Cette fonction va recevoir et traiter des "arguments". (arg)
  • Et cette fonction va retourner ( ou pas ), des "résultats". (return)
La syntaxe pour définir une fonction est:
1/ Définition de la fonction.
		
	function Nom_de_votre_fonction(arg1, arg2, ...)
	  -- ... corps de la fonction ...
	end
		
2/ Et pour appeler cette fonction:
		
	Nom_de_votre_fonction(param1, param2, param3, param4)		
				

Une fonction est une expression exécutable, dont la valeur est de type fonction.

Les déclarations suivantes ...... peuvent aussi s'écrire
function f() .. corps .. endf = function() .. corps .. end
function t.a.b.c.f() .. corps .. endt.a.b.c.f = function() .. corps .. end
local function f() .. corps .. endlocal f; f = function() .. corps .. end

et surtout pas... local f = function() .. corps .. end.
Vous définissez d'abord la variable " f " (local f = nil), puis vous lui affectez la fonction. (f = function() ... end.)

Trois petits points dans la liste de arguments (...), informent votre fonction qu'elle est susceptible de recevoir d'autres arguments dont vous ne connaissez pas encore le nombre. (voir le paragraphe "Arguments Multiples")

Les paramètres agissent en tant que variables locales, et sont initialisés avec les valeurs de l'argument.

Les résultats d'une fonction seront retournés à l'aide de la déclaration return.
Si le contrôle atteint la fin de la fonction, sans rencontrer de déclaration return, alors la fonction se termine, mais sans renvoyer de résultat.

Lua peut appeler des fonctions écrites en Lua et des fonctions écrites en C.

Toutes les bibliothèque standards Lua sont écrites en C et comprennent des fonctions pour la manipulation des chaînes de caractères (string), la manipulation des tables, la manipulation des entrées/sorties (In/Out), l'accès à des installations d'exploitation de base du système, des fonctions mathématiques et le débogage .

Il y a aucune différence, entre appeler une fonction LUA, ou une fonction C.

Un simple exemple.
-- la fonction Calcul reçoit 2 arguments (x et y)			
local function Calcul(x, y)
  local total = x * y
  
  print("total = "..total)
end

-- Affectation multiple
local param1, param2 = 25, 13
 
-- On appelle la fonction Calcul en lui passant 2 paramètres
Calcul(param1, param2)
 				

Les variables param1 et param2, existent dans la fonction sous la forme des 2 arguments x et y qui disparaissent à la sortie de la fonction, tout comme la variable local "total".


logo wxWidgets Le savoir ne vaut que s'il est partagé par tous...
logo-internet_32x32.png Dernière mise à jour, le 20 novembre 2012.
Valid XHTML 1.0 Transitional

wxlualogo
Flèche haut
Flèche gauche
Flèche haut
Flèche droite
Connexion à la base de données impossible