Fonction imbriquée
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Une fonction imbriquée ou fonction interne est une fonction encapsulée dans une autre. Elle ne peut être appelée que par la fonction englobante ou par des fonctions imbriquées directement ou non dans la même fonction englobante.
En d'autres termes, la portée de la fonction imbriquée (Une fonction imbriquée ou fonction interne est une fonction encapsulée dans une autre. Elle ne peut être appelée que par la fonction englobante ou par des fonctions imbriquées...) est limitée par la fonction englobante.

Un exemple avec la syntaxe de Pascal :

 
 function E(x: integer): integer 
 function F(y: integer): integer 
 begin 
 F:= x + y 
 end 
 begin 
 E:= F(3) 
 end 
 

Et le même exemple avec une syntaxe façon C :

 
 int E(int x) 
 { 
 int F(int y) 
 { 
 return x + y; 
 } 
 return F(3); 
 } 
 

La fonction F est imbriquée dans E (notez que x est visible dans F, mais y est invisible en dehors de F).

Les fonctions imbriquées sont une forme d'encapsulation (L'encapsulation en général est la notion de mettre une chose dans une autre. En imageant, on peut voir que cette chose est mise dans une capsule. En particulier, on peut retrouver ce terme dans plusieurs domaines :) et sont utilisées pour diviser des tâches procédurales en sous-tâches qui n'ont de signification que locale. Elle permet d'éviter la pollution (La pollution est définie comme ce qui rend un milieu malsain. La définition varie selon le contexte, selon le milieu considéré et selon ce que l'on peut entendre par malsain [1].) de l'espace global de noms par des noms de fonctions, variables... dont l'usage (L’usage est l'action de se servir de quelque chose.) est restreint à une petite partie du programme.

Parmi les langages les plus connus qui supportent les fonctions imbriquées, il y a

  • Algol, Pascal, Ada, Scheme, Common Lisp, Python, D et Perl.

En Scheme et la plupart des langages fonctionnels, les fonctions imbriquées sont une manière commune d'implanter des fonctions comportant des boucles. Une simple fonction imbriquée récursive ou récursion terminale est créée, qui se comporte comme la boucle principale, alors que la fonction englobante effectue les actions qui me doivent être faites qu'une fois. Dans les cas plus complexes, plusieurs fonctions mutuellement récursives peuvent être créées comme des fonctions imbriquées.

Page générée en 0.098 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique