Un langage informatique contient des fonctions, des variables et des structures de contrôle . La bibliothèque de fonctions de Perl contient le " chacun " fonction . L'une de ses commandes de structure de commande est appelé foreach . Le fait que l'on est une fonction et l'autre est un moyen de commande de la structure de contrôle , il ya une différence fondamentale dans la façon dont les deux sont invoquées, malgré une légère similitude dans leur utilisation . Paramètre Structure
" chaque " fonction effectue une tâche chaque fois qu'elle est appelée , et elle retourne deux valeurs. La fonction opère sur une table de hachage contenant une étiquette (appelée "clé" ) et d'une valeur . Dans un tableau avec une liste comme nom: Julie , Âge: 45 , Job : Singer, le " chacun " retourne "Nom" et "Julie" la première fois qu'elle est appelée . Ainsi, les données sur lesquelles le " chacun " fonction opère doit avoir une structure qui comprend des paires clé /valeur .
La commande " foreach " est une construction de boucle . Il fonctionne sur un tableau, qui est une simple liste d'éléments, sans clé. Un exemple d' un tel réseau serait Bob , Pete , Jane , Aube, dans un tableau appelé «noms ».
Portée
fonctions s'exécutent une fois à chaque fois qu'ils sont appelé . Ils quittent généralement l'état de leurs paramètres tels qu'ils étaient quand ils ont été appelés. " Chaque " est différent à cet égard , car il avance le pointeur indiquant l'élément courant dans le tableau de hachage, il reçoit comme paramètre. Cela signifie que chaque fois que la fonction est appelée, elle retourne la paire suivante dans la liste. Une fois qu'il a atteint la fin de la liste , il signale prochaine valeurs vides . Le temps après , il signale le premier élément dans le tableau. Le " foreach " construction renvoie le pointeur de la matrice dans sa position initiale lors du premier élément du tableau . les appels suivants à " foreach, " si vous utilisez le même tableau, vont commencer depuis le début .
processus
" foreach " construire œuvres à travers les éléments d'un tableau jusqu'à ce qu'il ait traité le dernier élément . La commande est suivie par des supports qui contiennent toutes les instructions à exécuter sur chaque élément de la matrice . Comme le " chacun " fonction , il avance le pointeur dans le tableau à l'élément suivant. Toutefois, «chaque» doit être appelée pour chaque élément dans le tableau, tandis que les boucles foreach " " à travers chaque élément automatiquement jusqu'à ce qu'il atteigne la fin du tableau .
Progression
" chaque " fonction ne crée pas une structure de programme . Elle s'appuie sur d'autres commandes pour s'assurer qu'il est invoquée assez de temps pour traiter tous les enregistrements d'une table de hachage donné. Il doit être inclus dans les instructions exécutées dans une boucle. La commande " foreach " est l'une des constructions qui assurent le " chacun " fonction avec le mécanisme de bouclage qui lui manque.