Een computer taal bevat functies , variabelen en controle structuren . Perl functie bibliotheek bevat de " elke" functie . Een van de controlestructuur commando heet foreach . Dat is een functie en de andere is een besturingsstructuur opdracht betekent dat er een fundamenteel verschil in de manier waarop de twee worden ingeroepen , ondanks een kleine overeenkomst in hun gebruik. Structure parameter De " iedere " functie voert een taak elke keer dat het wordt genoemd , en deze twee waarden terugkeert . De functie werkt op een hash tabel die een label (een zogenaamde " key " ) en een waarde bevat . In een tabel met een lijst als Naam : Julie , Leeftijd : 45 , Job : Singer , de " elke " functie geeft "Naam" en " Julie " de eerste keer dat het wordt genoemd . Dus de gegevens waarop de " elke" functie werkt heeft een structuur die sleutel /waarde paren omvat hebben . De " foreach -opdracht" is een looping construct . Het werkt op een matrix , die een rechte lijst van elementen , zonder sleutel . Een voorbeeld van een dergelijke reeks zou Bob , Pete , Jane , Dawn , in een array genaamd " namen . " Scope Functies voeren vanaf elke keer dat ze zijn genoemd . Ze laten meestal de staat van hun parameters als ze waren toen ze werden genoemd . " Elk " verschilt in dit opzicht , omdat het bevordert de aanwijzer die de huidige element in de hash- tabel dat ze als parameter . Dit betekent dat elke keer dat de functie wordt aangeroepen , wordt het volgende paar in de lijst terug . Zodra het einde van de lijst heeft bereikt, naast meldt blanco waarden . De tijd daarna , rapporteert het eerste element in de tabel . De " foreach " construct geeft de array pointer naar zijn oorspronkelijke positie bij het eerste element van de array. volgende aanroepen van " foreach ", indien gebruik wordt gemaakt van dezelfde array, zal vanaf het begin opnieuw . Proces De " foreach " construct werkt door de elementen in een array totdat het laatste element is verwerkt . Het commando wordt gevolgd door haakjes dat alle instructies uit te voeren op elk element in de array bevatten . Zoals de " elke" functie voert zij de aanwijzer in de array naar het volgende element . Echter , " elke" moet worden opgeroepen voor elk element in de tabel , terwijl " foreach " lussen door elk element automatisch totdat het einde van de array bereikt . Progression < br > De " iedere " functie heeft een programmastructuur niet maken . Zij beroept zich op andere opdrachten om ervoor te zorgen dat er voldoende tijd om alle records in een bepaalde hash tabel verwerken wordt ingeroepen . Het moet worden opgenomen in de instructies uitgevoerd binnen een lus . De " foreach -opdracht" is een van de constructies die de " elke " functie te voorzien van de looping mechanisme ontbreekt .
|