Ein Computer Sprache enthält Funktionen, Variablen und Kontrollstrukturen . Perl -Bibliothek enthält die Funktion " jede " Funktion . Eines ihrer Kontrollstruktur Befehle aufgerufen foreach . Die Tatsache, dass man eine Funktion und der andere ist eine Steuerstruktur Befehl bedeutet, dass es einen wesentlichen Unterschied in der Art der beiden aufgerufen wird, werden trotz geringer Ähnlichkeit in ihrer Nutzung. Parameter Structure
Das " jeder "-Funktion führt eine Aufgabe jedes Mal heißt es , und es gibt zwei Werte . Die Funktion arbeitet mit einer Hash-Tabelle , die ein Etikett (eine so genannte "Schlüssel" ) und einen Wert enthält . In einer Tabelle mit einer Liste wie Name: Julie , Alter: 45, Beruf: Sänger, kehrt das " jeder " Funktion "Name" und " Julie " das erste Mal aufgerufen wird. So sind die Daten, auf denen die " jeder "-Funktion arbeitet hat eine Struktur, die Schlüssel /Wert-Paare umfasst haben .
" Foreach "-Befehl ist ein Looping Konstrukt . Es arbeitet auf einem Array ist , die einen geraden Liste von Elementen , ohne Schlüssel . Ein Beispiel einer solchen Anordnung würde Bob , Pete , Jane , Morgendämmerung, sein in einem Array namens " Namen . "
Scope
Funktionen ausführen , wenn jedes Mal, sie sind genannt . Meist lassen sie den Zustand ihrer Parameter , da sie , wenn sie genannt wurden waren . " Jeder " ist anders in dieser Hinsicht , weil es Fortschritte die Zeiger, das aktuelle Element in der Hash-Tabelle als Parameter erhält . Das bedeutet, jedes Mal, wenn die Funktion aufgerufen wird , wird es wieder das nächste Paar in der Liste. Sobald er das Ende der Liste erreicht , es nächste meldet leere Werte . Die Zeit danach , meldet es das erste Element in der Tabelle. Die " foreach " Konstrukt gibt den Array-Zeiger in seine ursprüngliche Position auf das erste Element des Arrays. nachfolgenden Aufrufen von " foreach ", wenn mit dem gleichen Array , wird wieder von vorne zu beginnen.
Prozess
" foreach " konstruieren Arbeiten durch die Elemente in dem Array, bevor es das letzte Element verarbeitet wurde. Der Befehl wird durch Klammern , die alle Anweisungen, um für jedes Element in der Anordnung durchgeführt werden , gefolgt enthalten . Wie die " jeder "-Funktion , Fortschritten, die sie den Zeiger im Array auf das nächste Element . Doch " jeder " muss für jedes Element in der Tabelle genannt werden, während " foreach " Schleifen durch jedes Element automatisch , bis das Ende des Arrays erreicht .
Progression
Die
" jede " Funktion nicht zu einem Programm-Struktur . Es stützt sich auf andere Befehle , um sicherzustellen, dass es oft genug , um alle Datensätze in einem bestimmten Hash-Tabelle bearbeiten wird aufgerufen . Es muss in den Anweisungen innerhalb einer Schleife ausgeführt einbezogen werden. Die " foreach "-Befehl ist eine der Konstrukte, die " jeden "-Funktion bieten mit dem Looping Mechanismus fehlt es .