* Agence Drupal Argenteuil
Agence Drupal Argenteuil
Article:
Encore connue sous le nom de portée statique, la portée lexicale est une méthode pour déterminer la portée d'une variable en fonction de sa position dans le code. La portée de la variable lexicale est indiquée par le texte du programme. Cette variable est déterminée dans la portée de la fonction solde, à partir de la liste des paramètres, et jusqu'à la fin de la définition de la fonction. La fermeture lexicale (dénotée par l'expression lambda) se sert de la définition lexicale de balance de la fonction solde : c'est une capture de variable lexicale ; la variable ainsi capturée a la durée de vie de la fonction qui la capture, qui peut excéder la durée d'un appel à solde ; mais la portée de cette capture est strictement limitée par le texte de la fermeture. Cette portée assure au programmeur que les variables privées ne sont pas soudain accédées ou transformées par d'autres fonctions. Cela est considéré comme une amélioration considérable par rapport à la combinaison de portée globale et portée dynamique plus anciennes. Le langage Algol avait d'abord introduit la portée lexicale, avant d'être adoptée par d'autres langages depuis. Certains langages ont introduit la portée lexicale dans leurs incarnations les plus modernes, comme Perl. D'autres offrent les variables dynamiques et lexicales, par choix (Common Lisp) ou par le fait d'une évolution progressive (Emacs Lisp, avec lexical-let). En informatique, le principe de localité est un terme générique qui correspond à une observation des programmes actuels et rassemble différents types de localités. Les programmes possèdent deux caractéristiques intéressantes : Ils tendent à user les instructions et les données qui sont situées dans la zone mémoire proche des données et instructions accédées récemment: il s'agit du principe de localité spatiale. Alors que les programmes suivent fréquemment des boucles et des sauts pour les instructions, la localité spatiale est encore plus marquée pour les données. Ils tendent à utiliser de nouveau les données et instructions usées dans le passé: il s'agit du principe de localité temporelle. C'est pourquoi ces principes sont générés par les programmes et les processeurs. En effet, des données ou instructions qui sont reliées entre elles (par exemple les données d'un tableau) sont enregistrées dans des endroits proches les uns des autres de la mémoire principale. Or, les programmes traitent habituellement les données de manière séquentielle. Ainsi, si un élément est accédé, son voisin sera très probablement abordé, créant ainsi la localité spatiale. Les boucles étant des caractéristiques courantes des programmes modernes, un élément accédé récemment sera également accédé dans le futur, afin de créer la localité temporelle