*   >> Lezen Onderwijs artikelen >> science >> programming

ActivePerl Variabele Types En Context

ActivePerl Variabele Types en Context grondbeginselen van ActivePerl - Deel 11 Inleiding Dit is deel 11 van mijn reeks, Basis van ActivePerl. In dit deel van de serie, kijken we naar wat er ActivePerl datatypes en wat ook wel de scalaire context en de lijst context genoemd. Opmerking: Als u de code niet kunt zien of als u denkt dat er iets ontbreekt (gebroken link afbeelding afwezig), neem dan contact met mij op [email protected]. Dat wil contact met mij op voor het geringste probleem dat je hebt over wat je aan het lezen bent.

De Data Types Perl heeft drie ingebouwde data types, die de scalairen, arrays en hashes worden genoemd. Betekenis van een Scalar In eenvoudige termen, een scalair is een string of een nummer. Elke variabele die een scalair identificeert begint met $. Een scalar is wat we hebben te verwijzen naar als een eenvoudige waarde. Bijvoorbeeld, mijn $ var; $ var = "een tekst of een getal zonder aanhalingstekens"; We hebben vele voorbeelden van scalaire gezien. Betekenis van een Array Een array is een geordende lijst van scalairen. We hebben voorbeelden gezien.

Elke variabele die een array moet beginnen met @ identificeert. Betekenis van Hash Een hash is een ongeordende lijst van scalairen. Een belangrijk verschil tussen een hash en een matrix is ​​die de waarden van de hash zijn geïndexeerd door geassocieerde koord toetsen, terwijl de waarden van een array zijn geïndexeerd door cijfers. Elke variabele die een hash identificeert begint met%. We hebben voorbeelden van hashes gezien. Geldige variabele Naam Uit het bovenstaande, dan zien we dat een variabele begint met ofwel, $, @ of%. Daarna moet u een brief hebt of onderstrepen.

Na dat, kunt u een aantal streepjes, letters of cijfers hebben in willekeurige volgorde, om de variabele naam te vormen. Lijst Een lijst is een verzameling van scalairen gescheiden door komma's, begrensd door haakjes. Een voorbeeld hiervan is: ("de eerste", "de tweede", 3) Er zijn drie scalairen er: twee snaren en één cijfer. U kunt lijsten aan beide kanten van de opdracht operator. Denk aan de volgende regel: (mijn $ 1, mijn $ 2, mijn $ 3) = ("de eerste", "de tweede", 3); Er zijn hier twee lijsten: een aan de linkerkant van de toewijzingsoperator en de ander rechts van het toewijzen.

Ik opzettelijk beide lijsten drie scalairen hebben elk. De lijst aan de rechterkant heeft echte scalairen. De ene aan de linkerkant heeft, maar variabelen. Elk van de variabelen van de lijst aan de linkerkant, zal de bijbehorende scalaire houden uit de lijst aan de rechterkant. Ik hoop dat u waarderen de betekenis van de lijst in ActivePerl.

Lees en probeer de volgende code: use strict; print "Content-Type: text /html \\ n \\ n"; (mijn $ 1, mijn $ 2, mijn $ 3) = ("de eerste", "de tweede", 3); afdrukken $ 1; afdruk "print $ 2; print" druk $ 3; print "Je moet over de drie scalaire waarden weergegeven Een lijst kan worden toegewezen aan een andere lijst met bijbehorende variabelen zoals hierboven echter een lijst kan ook worden toegewezen aan een array zoals weergegeven in de volgende code (lees en probeer het)..

: strikte gebruiken; afdrukken "Content-Type: text /html \\ n \\ n"; mijnarr = ("de eerste", "de tweede", 3); afdrukarr; Deze methode van het toekennen van een lijst heeft de voorkeur, wanneer je weet niet het aantal elementen in de lijst, of wanneer de lijst is erg lang Argumenten om een ​​functie We hebben de printfunctie te zien in de eerste code voorbeeld hierboven, hebben we afdrukken $ 1;.. Het kan ook "print ($ 1), "maar de beugels zijn meestal weggelaten In één van de vorige hoofdstukken zoiets zagen we: push (hisArr, (." xxx "," yyy "," ZZZ ")); Het is de push-functie voor de array.

Het heeft ook beugels. De beugels zijn items binnen. Hier heb ik de functies print en druk op. Alles wat je hebt in de beugels van een functie als in de twee bovengenoemde gevallen worden genoemd argumenten genoemd. Bij drukken boven de argument $ 1, die een scalair. In het geval van push de argumentenhisArr en ('xxx', 'yyy "," ZZZ "). Deze twee argumenten zijn lijsten. Een array is een geordende lijst, en dat is het eerste argument. Het tweede argument is een letterlijke lijst. De buitenste steunen de argumenten van een functie kan blijven.

Scalaire Context Als een bewerking van een scalaire zou terugkeren of zou een scalaire als argument hebben, zeggen we ActivePerl werkt in een scalaire context op dat punt. Neem het volgende voorbeeld: mijn $ var = "de string"; Dit is een zeer eenvoudige verklaring en het scalaire context, zoals we met scalaire aan weerszijden van de toewijzingsoperator. Denk aan de volgende. afdrukken ($ 1); Het argument van de printfunctie is een scalair, dus dat is een scalaire context.

Lijst Context Als een bewerking van een lijst zou terugkeren of zou een lijst als argument hebben, zeggen we ActivePerl werkt in een lijst context op dat punt. Neem het volgende voorbeeld: (mijn $ 1, mijn $ 2, mijn $ 3) = ("de eerste", "de tweede", 3); Aan weerszijden van de opdracht exploitant, hebben we een lijst, dus we hebben een lijst context. Beschouw het volgende: push (hisArr, ("xxx", "yyy", "ZZZ")); De twee argumenten van de push-functie zijn lijsten, dus we hebben een lijst context. In sommige gevallen kan de argumenten van de functies kunnen worden gemaakt van scalairen en lijst.

In dat geval ActivePerl werkt op beide contexten. Opmerking: De hash is een soort lijst. Voorwaardelijke Context Afhankelijk van de staat, kunt u werken in een scalaire of lijst context. Zoals u ActivePerl te leren, wordt u verteld deze voorwaarden. Ik zal slechts een paar voorbeelden te geven. Beschouw de volgende reeks: mijnarr = ("HBWE", "FGTR", "HTNK", 4587, 4526, 4053, "AB12", "GB58", "TG45", "RE69"); Nadat de matrix is ​​gemaakt, zou het arrayvariabele gedragen als een operatie en zou ofwel de lengte (scalaire) van de matrix of een lijst van de elementen van de matrix terug, naargelang het wordt toegewezen aan een scalair of array ( lijst).

Als het een scalaire terugkomt, werk je in een scalaire context. Wanneer het een lijst terug, werkt u in een lijst context. In de volgende code de array variabele toegewezen aan een scalair, zodat de lengte van de array geeft (dat is hoe ActivePerl is gedaan om - terugkeer een scalair door arrayvariabele bij toewijzing aan een scalair). Lees en probeer de code.

strikte gebruiken; print "Content-Type: text /html \\ n \\ n"; Mijnarr = ("HBWE", "FGTR", "HTNK", 4587, 4526, 4053, "AB12", "GB58", "TG45", "RE69"); mijn $ scale =arr; afdruk $ scal; In de volgende code de array variabele toegewezen aan een lijst, dus de lijst van elementen in de array geeft (dat is hoe ActivePerl is gedaan te zijn). Lees en probeer de code.

strikte gebruiken; print "Content-Type: text /html \\ n \\ n"; Mijnarr = ("HBWE", "FGTR", "HTNK", 4587, 4526, 4053, "AB12", "GB58", "TG45", "RE69"); mijnli =arr; afdrukkenli; De Hash sleutels en waarden functies revisited In de Perl of ActivePerl specificatie, wordt er gezegd dat de hash-sleutels functie een lijst van alle sleutels zou terugkeren in de hash als het werken in de lijst context of het zou het aantal sleutels terug te keren in de hash als het werken in scalaire context. Dus in de lijst context een lijst terugkeert; in scalaire context geeft een scalair (aantal).

Dit betekent dat als u de return waarde van de functie aan een array toe te wijzen, heb je een lijst; als je het toewijzen aan een scalaire heb je een scalair. Lees en probeer de volgende code waar de sleutels functie in de lijst context, het terugsturen van een lijst, omdat de geretourneerde waarde wordt toegewezen aan een array.

strikte gebruiken; print "Content-Type: text /html \\ n \\ n"; mijn% fruitColor = (Apple => "paars", Banana => "geel", Peer => "green", Lemon => "green"); mijnar = toetsen (% fruitColor); afdrukkenar; Lees en probeer de volgende code waar de sleutels functie in scalaire context, het terugsturen van een scalair, omdat de geretourneerde waarde wordt toegewezen aan een scalair.

strikte gebruiken; print "Content-Type: text /html \\ n \\ n"; mijn% fruitColor = (Apple => "paars", Banana => "geel", Peer => "green", Lemon =>

Page   <<       [1] [2] [3] [4] >>
Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.