*   >> Læs Uddannelse artikler >> science >> programming

ActivePerl Hashes

ActivePerl hashes Grundlæggende om ActivePerl - Del 10 Introduktion Dette er en del 10 af min serie, Grundlæggende om ActivePerl. En hash er som et array, men ikke nøjagtigt det samme. I denne del af tutorial ser vi på hash af ActivePerl. Bemærk: Hvis du ikke kan se koden, eller hvis du tror noget mangler (brudt link, billede fraværende), bare kontakte mig på [email protected]. Det vil sige, kontakt mig for det mindste problem, du har om, hvad du læser.

En Hash Indhold Eksempel Den følgende liste viser nogle frugter og deres farver: Apple => lilla Banana => gul Pære => grøn Lemon => grøn På listen ser vi, at Apple er lilla, banan er gul, etc. => tegn viser bare, at elementet til venstre svarer til elementet til højre. Dette er en hash listen. Lad os se på en typisk opstilling liste; en liste over de første navne på nogle medarbejdere i en virksomhed: 0 John 1 Mary 2 Peter 3 Augustine 4 Angela 5 Susan 6 Martin I array listen den første kolonne skal altid være indekser; mens den anden kolonne kan have tal eller strenge.

I en hash liste den første kolonne ikke nødvendigvis indekser; Det kan gøres op i tal og /eller strenge; den anden kolonne kan også være sammensat af numre og /eller strenge. Forskellen mellem en hash liste og en matrix liste er, at for et array listen første kolonne består altid af indeks (talt tal fra nul), men for en hash listen første kolonne kan være tal og /eller strenge. Den anden kolonne til en matrix eller hash liste kan være alt (tal og /eller snore). For de to ovennævnte eksempler, hash listen har strenge for første søjle og array listen har sine ubetingede indekser.

Resten af ​​dette selvstudium vil beskæftige sig med hashes. Oprettelse af en Hash Syntaksen for at skabe en hash er: min% hashName = (nøgle1 => værdi1, TAST2 => værdi2, TAST3 => value3, ...); Du begynder med det reserverede ord, min, derefter et mellemrum. Næste du har symbolet%, efterfulgt af navnet på hash. Hash navn Forud% er hash variabel. Efter at du har opgaven operatør. Så har du hash listen i parentes (parentes). Ser man på hash eksempel ovenfor er den første kolonne kaldet tasterne; den anden kolonne kaldes værdierne. Du skriver dem som sådan inde i parentes.

Hver hash element i parentesen begynder med nøglen, efterfulgt af => sign (dvs. lighedstegn efterfulgt af større end tegnet), derefter den tilsvarende værdi. Før du skriver det næste element, du nødt til at skrive et komma først. Selvfølgelig betyder det sidste element ikke et komma, inden de afsluttende parentes. Nå, efter at de afsluttende parentes har du semikolon; der angiver slutningen af ​​en ActivePerl redegørelse. Hvis værdien er en streng den er skrevet i beslagene i anførselstegn (enkelte eller dobbelte). Hvis værdien er et tal, er det ikke skrevet i anførselstegn.

Du kan give det navn, fruitColor til eksemplet frugt ovenfor. Den følgende sætning opretter hash i ActivePerl: min% fruitColor = (Apple => "lilla", banan => "gule", Pære => "grønne", Lemon => "grønne"); Bemærk, at nøglerne i parentes er ikke i anførselstegn. Ovenstående opgørelse kan skrives i din kode pænt som følger: min% fruitColor = (Apple => "lilla", banan => "gule", Pære => "grønne", Lemon => "grønne"); Adgang til en hash-værdi Syntaksen for at få adgang til et hash værdi: $ hashName {"nøgle"} Du begynder med en $ symbol efterfulgt af hash navn, og derefter et par krøllede parenteser.

Inde i krøllede parenteser, har du nøglen (i enkelte eller dobbelte anførselstegn) af den tilsvarende værdi. Så for at få adgang til lilla snor ovenfor, ville du skrive: $ fruitColor {'Apple'} I dette udtryk nøglen skal være i anførselstegn, (enkelt eller dobbelt). Men når du opretter hash tasterne er ikke i anførselstegn. Dette udtryk returnerer den tilsvarende værdi for nøglen.

Ændring af en hash-værdi Du bruger ovenstående udtryk til at ændre en hash-værdi på følgende måde: $ hashName {"nøgle"} = newValue; Så for at ændre farven på æblet i hash fra violet til rød, skal du skrive: $ fruitColor {'Apple'} = "rød"; Læs og prøv følgende kode, hvor den oprindelige farve for æble vises, og derefter ændret og re-vises. bruge en streng; print "Content-Type: text /html \\ n \\ n"; min% fruitColor = (Apple => "lilla", banan => "gule", Pære => "grønne", Lemon => "grønne"); print $ fruitColor {'Apple'}; print "$ fruitColor {'Apple'} =" røde "print $ fruitColor {'Apple'};.

Adgang med en variabel i stedet for en nøgle Du kan få adgang en værdi med en variabel i stedet for en nøgle Følgende kodesegmentet illustrerer dette: min $ herKey = 'Apple «print $ fruitColor {$ herKey}; Hash Funktioner Hash har funktioner, ligesom array har funktioner Vi ser på nogle hashfunktioner nedenstående The hver funktion Syntaksen for at bruge hver funktion..

er: hver (% HashName) Dette udtryk returnerer enten den næste nøgle /værdi par eller den næste tast, afhængigt af hvad der kaldes listen kontekst eller skalar kontekst I vores koden herunder det er den næste tast /værdi par, der vil blive returneret.. I koden nedenfor, jeg bruger hash ovenfor med fire elementer Så hvis du bruger de enkelte funktioner fire gange vil du have de fire forskellige nøgle /værdi par Læs og prøv følgende kode: Brug streng; print "Content-Type..

: text /html \\ n \\ n "; min% fruitColor = (Apple =>" lilla ", banan =>" gule ", Pære =>" grønne ", Lemon =>" grønne "); udskrive hver (% fruitColor); print "print hver (% fruitColor) print" print hver (% fruitColor); print "print hver (% fruitColor) print" I min computer havde jeg følgende output: Bananayellow Applepurple Lemongreen Peargreen Nå, nøglen og værdi for hvert par er ikke adskilt; lad os ikke bekymre dig om det for nu. Rækkefølgen af ​​de centrale /værdi par er ikke den samme rækkefølge, som vi har skrevet dem i hash. Lige bemærke, at denne ordre ikke kan være forudbestemt.

Så hver funktion vil returnere den næste nøgle /værdi par under visse betingelser. Det begynder med, hvad den betragter som den første, og derefter, hvis det kaldes igen, vender den tilbage, hvad den betragter som den næste, og så videre. Dig ActivePerl programmør kan ikke vide, i hvilken rækkefølge elementerne vil blive returneret. Tasterne Funktion Syntaksen af ​​nøglerne funktionen er: nøgler (% hashName) Den returnerer en liste (som kan holdes af en matrix) af alle nøgler i en hash.

Læs og prøv følgende kode: Brug streng; print "Content-Type: text /html \\ n \\ n"; min% fruitColor = (Apple => "lilla", banan => "gule", Pære => "grønne", Lemon => "grønne"); minarr = nøgler (% fruitColor); udskrivearr; Rækkefølgen af ​​afkastet tasterne igen ikke forudbestemt (ikke den måde, de blev indtastet). Værdierne Funktion Syntaksen for værdier funktionen er: værdier (% hashName) Værdierne funktionen opfører sig på samme måde som tasterne funktion, bortset fra at den returnerer en liste med værdierne i hash og ikke en liste over tasterne.

Læs og prøv følgende kode: Brug streng; print "Content-Type: text /html \\ n \\ n"; min% fruitColor = (Apple => "lilla", banan => "gule", Pære => "grønne", Lemon =>

Page   <<       [1] [2] [3] [4] >>
Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.