En computer sprog indeholder funktioner, variabler og kontrolstrukturer. Perl funktion bibliotek indeholder " hver" funktion. En af dens kontrolstruktur kommandoer kaldes foreach . Det faktum, at man er en funktion , og den anden er en kontrolstruktur kommando betyder, at der er en fundamental forskel i den måde de to påberåbes, på trods af en lille lighed i deres forbrug. Parameter Structure
" hver" funktionen udfører en opgave, hver gang det kaldes, og det returnerer to værdier. Funktionen fungerer på en hash tabel, der indeholder en etiket ( kaldet en "nøgle" ) og en værdi . I en tabel med en liste som navn: Julie , Alder: 45 Job: Singer , returnerer " hver" funktionen "Navn" og " Julie " den første gang den bliver kaldt. Så de data, som de " hver" funktionen opererer skal have en struktur, som omfatter nøgle /værdi par.
" Foreach " kommandoen er en looping konstruktion. Det fungerer på et array , som er en lige liste over elementer , uden nøgler . Et eksempel på sådan et array ville være Bob, Pete , Jane, Dawn , i et array kaldet "navne ".
Anvendelsesområde
Funktioner udføre når hver gang de er kaldes. De normalt forlade staten af deres parametre , som de var, da de blev kaldt . " Hver" er anderledes i denne henseende , da det fremmer markøren angiver den aktuelle element i hash tabellen den modtager som parameter . Det betyder, at hver gang funktionen kaldes, vil den vende tilbage det næste par på listen. Når det har nået slutningen af listen , er det næste rapporterer tomme værdier. Tiden efter, at den rapporterer det første element i tabellen. Den " foreach " konstruktionen returnerer array pointer til sin oprindelige position på det første element i array. efterfølgende opkald til " foreach ", hvis du bruger den samme array, vil starte fra begyndelsen igen.
Process
" foreach " konstruere virker gennem elementerne i et array , indtil den har behandlet det sidste element . Kommandoen efterfølges af parenteser , som indeholder alle de instruktioner , der skal udføres på hvert element i matrix . Som " hver" -funktionen , forskud det markøren i array til næste element . Men " hver" har til at blive kaldt for hvert element i tabellen , mens " foreach " sløjfer gennem hvert element automatisk, indtil det når til slutningen af array.
Progression
< br >
" hver" funktionen ikke skabe et program struktur. Den er afhængig af andre kommandoer for at sikre , at den påberåbes nok gange til at behandle alle posterne i en given hash tabel. Det skal indgå i vejledningen udføres i en løkke . Den " foreach " kommandoen er en af de konstruktioner , der giver de " hver" funktion med looping mekanisme det mangler .