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

ActivePerl Variable Typer og Context

ActivePerl Variable Typer og Context Grundlæggende om ActivePerl - Del 11 Introduktion Dette er en del 11 af min serie, Grundlæggende om ActivePerl. I denne del af serien, ser vi på, hvad der kaldes ActivePerl datatyper, og hvad kaldes også skalar kontekst og listen sammenhæng. 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.

Den datatyper Perl har tre indbyggede datatyper, som kaldes de skalarer, arrays og hashes. Betydning af en skalar I enkle vendinger, en skalar er en streng eller et tal. Enhver variabel, der identificerer en skalar begynder med $. En skalar er hvad vi har været at henvise til som en simpel værdi. Eksempel, min $ var; $ var = "noget tekst eller et tal uden citationstegn"; Vi har set mange eksempler på skalar. Betydning af et array Et array er en ordnet liste over skalarer. Vi har set eksempler på dette. Enhver variabel, der identificerer et array skal begynde med @.

Betydning af Hash En hash er en uordnet liste med skalarer. En væsentligste forskel mellem en hash og en matrix er, at værdierne af hash er indekseret af associerede string taster, mens værdierne af et array indekseres af tal. Enhver variabel, der identificerer en hash begynder med%. Vi har set eksempler på hashes. Gyldig variabel navn fra ovenstående, ser vi, at en variabel begynder med enten, $, @ eller%. Derefter bør du have et bogstav eller understregningstegn.

Efter dette, kan du have et vilkårligt antal understregninger, bogstaver eller tal i vilkårlig rækkefølge, at danne variabelnavnet. Liste En liste er en samling af skalarer adskilt af kommaer, afgrænset af parenteser. Et eksempel er: ("den første", "den anden", 3) Der er tre skalarer der: to strenge og et nummer. Du kan have lister på begge sider af opgaven operatør. Overvej følgende linje: (min $ en, min $ to, min $ tre) = ("den første", "den anden", 3); Der er to lister her: en til venstre af opgaven operatør og den anden på højre side af opgaven operatør.

Jeg vilje er gjort begge lister at have tre skalarer hver. Listen til højre har reelle skalarer. Den ene til venstre har men variabler. Hver af de variabler for listen til venstre, vil holde den tilsvarende skalar fra listen til højre. Jeg håber, du værdsætter betydningen af ​​listen i ActivePerl. Læs og prøv følgende kode: Brug streng; print "Content-Type: text /html \\ n \\ n"; (min $ en, min $ to, min $ tre) = ("den første", "den anden", 3); udskrive $ en, print "print $ to, print" print $ tre; print "Du skulle have de tre skalarværdier vises en liste kan tildeles til en anden liste med tilsvarende variabler som vist ovenfor Men en liste kan også tildeles til en række, som vist i følgende kode (læs og prøv det).

.: bruge streng; print "Content-Type: text /html \\ n \\ n"; minarr = ("den første", "den anden", 3), printarr; Denne metode til at tildele en liste foretrækkes, når du ikke kender antallet af elementer på listen, eller når listen er meget lang Argumenter til en funktion Vi har set print-funktionen I første kodeeksempel ovenfor, har vi udskriver $ en,.. Det kan også være "print ($ en), "men beslagene er normalt udeladt I et af de foregående kapitler vi så noget lignende: tryk (hisArr, (." XXX "," yyy "," zzz ")), Det er push-funktion til array. Det har også parenteser.

Konsollerne har elementer indenfor. Her har jeg nævnt de trykte og push-funktioner. Alle, hvad du har inde i parentes i en funktion som i de to ovennævnte tilfælde kaldes argumenter. I tilfælde af print ovenfor, er argumentet $ én, som er en skalar. I tilfælde af skubbe argumenterne erhisArr og ("xxx", "yyy", "zzz"). Disse to argumenter er lister. Et array er en ordnet liste, og det er det første argument. Det andet argument er en bogstavelig liste. De yderste beslag til argumenterne fra en funktion kan udelades.

Skalar Kontekst Hvis enhver operation ville returnere en skalar eller ville have en skalar som argument, vi siger ActivePerl arbejder i en skalar sammenhæng på dette punkt. Overvej følgende eksempel: min $ var = "strengen"; Dette er en meget simpel erklæring, og det er skalar kontekst, som vi beskæftiger os med skalarer på begge sider af opgaven operatør. Overveje følgende. print ($ en); Argumentet af print-funktionen er en skalar, så det er en skalar kontekst.

Liste Kontekst Hvis enhver operation ville returnere en liste eller ville have en liste som argument, vi siger ActivePerl arbejder på en liste sammenhæng på dette punkt. Overvej følgende eksempel: (min $ en, min $ to, min $ tre) = ("den første", "den anden", 3); På begge sider af opgaven operatør, har vi en liste, så vi har en liste sammenhæng. Overvej følgende: tryk (hisArr, ("xxx", "yyy", "zzz")); De to argumenter push-funktionen er lister, så vi har en liste sammenhæng. I nogle tilfælde argumenterne fra en funktioner kan bestå af skalarer og listen.

I så fald ActivePerl arbejder på begge sammenhænge. Bemærk: Hash er en slags listen. Betinget Context Afhængig af stand, kan du arbejde i en skalar eller liste sammenhæng. Efterhånden som du lærer ActivePerl, er du fortalte disse betingelser. Jeg vil give et par eksempler her. Overvej følgende matrix: minarr = ("HBWE", "FGTR", "HTNK", 4587, 4526, 4053, "AB12", "GB58", "TG45", "RE69"); Efter arrayet er blevet oprettet, ville dens matrix variabel opfører sig som en operation, og vil vende tilbage enten længden (skalar) i matrix eller en liste over de elementer i arrayet, alt efter om den er tildelt til en skalar eller en gruppering ( liste).

Når den returnerer en skalar, arbejder du i en skalar sammenhæng. Når den returnerer en liste, arbejder du på en liste sammenhæng. I den følgende kode tildeles array variabel til en skalar, så det returnerer længden af ​​array (det er sådan ActivePerl er gjort for at være - returnere en skalar af matrix variabel, når tildelt en skalar). Læs og prøv koden.

bruge en streng; print "Content-Type: text /html \\ n \\ n"; minarr = ("HBWE", "FGTR", "HTNK", 4587, 4526, 4053, "AB12", "GB58", "TG45", "RE69"); min $ scal =arr; print $ scal; I den følgende kode tildeles array variabel til en liste, så det returnerer en liste af elementer i arrayet (det er sådan ActivePerl er gjort for at være). Læs og prøv koden.

bruge en streng; print "Content-Type: text /html \\ n \\ n"; minarr = ("HBWE", "FGTR", "HTNK", 4587, 4526, 4053, "AB12", "GB58", "TG45", "RE69"); minli =arr; li udskrive; Hash nøgler og værdier funktioner revisited I Perl eller ActivePerl specifikation, siges det, at hash nøgler funktionen ville returnere en liste over alle de nøgler i hash, hvis arbejde i listen sammenhæng eller det ville returnere antallet af nøgler i hash hvis arbejde i skalar sammenhæng. Så i listen sammenhæng giver en liste; i skalar sammenhæng returnerer en skalar (antal).

Det betyder, at hvis du tildeler returværdien af ​​funktionen til et array, har du en liste; Hvis du tildeler den til en skalar du har en skalar. Læs og prøv følgende kode, hvor nøglerne funktion er i listen sammenhæng returnere en liste, fordi den returnerede værdi er tildelt et array. bruge en streng; print "Content-Type: text /html \\ n \\ n"; min% fruitColor = (Apple => "lilla", banan => "gule", Pære => "grønne", Lemon => "grønne"); minear = nøgler (% fruitColor); udskrivear; Læs og prøv følgende kode, hvor nøglerne funktion er i skalar kontekst, vender tilbage en skalar, fordi den returnerede værdi er tildelt en skalar.

bruge en 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.