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

ActivePerl Hashes

ActivePerl Hashes grondbeginselen van ActivePerl - Deel 10 Inleiding Dit is deel 10 van mijn reeks, Basis van ActivePerl. Een hash is als een matrix, maar niet precies hetzelfde. In dit deel van de tutorial kijken we naar de hash van ActivePerl. 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.

Een Hash Content Voorbeeld De volgende lijst toont enkele vruchten en hun kleuren: Apple => paars Banana => gele Pear => groene Citroen => groen in de lijst zien we dat appel is paars, banaan is geel, etc. De => teken gewoon laat zien dat het item aan de linkerzijde komt overeen met het item aan de rechterkant. Dit is een hash lijst.

Laten we eens kijken naar een typische reeks lijst; een lijst van de eerste namen van een aantal werknemers in een bedrijf: 0 John 1 Mary 2 Peter 3 Augustine 4 Angela 5 Susan 6 Martin In de reeks lijst de eerste kolom moet altijd indices; terwijl de tweede kolom getallen of strings hebben. In een hash-lijst de eerste kolom is niet noodzakelijk indices; kan uit cijfers en /of strings worden; de tweede kolom kan bestaan ​​uit cijfers en /of strings.

Het verschil tussen een hash-lijst en een array lijst die voor een serie overzicht de eerste kolom bestaat altijd uit indices (tellen getallen van nul), maar voor een hash lijst de eerste kolom kunnen getallen en /of strings. De tweede kolom van een matrix of hash lijst kan van alles (nummers en /of strings). Voor de bovenstaande twee voorbeelden, de hash-lijst heeft strings voor de eerste kolom en de matrix lijst heeft zijn onvoorwaardelijke indices. De rest van deze tutorial zal zich bezighouden met hashes.

Het creëren van een Hash De syntaxis van een hash te maken is: mijn% hashName = (key1 => waarde1, key2 => waarde2, Toets 3 => waarde3, ...); Je begint met het gereserveerde woord, mijn, dan een spatie. Vervolgens moet je het symbool%, gevolgd door de naam van de hash. De hash naam voorafgegaan door% is de hash variabel. Daarna moet je de opdracht operator. Dan heb je de lijst hash haakjes (tussen haakjes). Kijkend naar de hash bovenstaande voorbeeld is de eerste kolom de sleutels genoemd; de tweede kolom wordt de waarden. U typt ze als zodanig tussen de haakjes.

Elke hash-element tussen de haakjes begint met de belangrijkste, gevolgd door de => teken (dwz het isgelijkteken gevolgd door het groter dan teken), dan is de overeenkomstige waarde. Voordat u het volgende element typen, moet je een komma eerste type. Natuurlijk is het laatste element geen komma voor de afsluitende haakjes. Nou, na het sluiten beugels heb je de puntkomma; dat aangeeft het einde van een ActivePerl statement. Als de waarde een string wordt getypt in de beugels in aanhalingstekens (enkel of dubbel). Als de waarde een getal is niet getypt aanhalingstekens.

U kunt de naam, fruitColor geven aan de vrucht bovenstaande voorbeeld. De volgende verklaring maakt de hash in ActivePerl: mijn% fruitColor = (Apple => "paars", Banana => "geel", Peer => "green", Lemon => "green"); Merk op dat in de beugels van de toetsen zijn niet tussen aanhalingstekens. De bovenstaande verklaring kan in uw code als volgt worden getypt netjes: mijn% fruitColor = (Apple => "paars", Banana => "geel", Peer => "green", Lemon => "green"); De toegang tot een hash-waarde De syntaxis om een ​​hash-waarde: $ hashName {'key'} Je begint met een $ symbool, gevolgd door de naam hash, en dan een paar accolades.

Binnen de accolades, heb je de sleutel (in enkele of dubbele aanhalingstekens) van de overeenkomstige waarde. Dus om toegang te krijgen tot boven de paarse touwtje, typt u: $ fruitColor {'Apple'} In deze uitdrukking de sleutel moet in aanhalingstekens, (enkel of dubbel). Echter, bij het maken van de hash van de toetsen zijn niet tussen aanhalingstekens. Deze uitdrukking geeft de overeenkomstige waarde voor de sleutel.

Het veranderen van een hash-waarde U gebruikt de bovenstaande uitdrukking aan een hash-waarde te wijzigen als volgt: $ hashName {'key'} = newValue; Dus om de kleur van de appel in de hash van paars naar rood veranderen, typt u: $ fruitColor {'Apple'} = "rood"; Lees en probeer de volgende code, waar de eerste kleur voor appel wordt weergegeven en dan veranderd en opnieuw weergegeven.

strikte gebruiken; print "Content-Type: text /html \\ n \\ n"; mijn% fruitColor = (Apple => "paars", Banana => "geel", Peer => "green", Lemon => "green"); afdruk $ fruitColor {'Apple'}; afdrukken "$ fruitColor {'Apple'} =" rood "; druk $ fruitColor {'Apple'};. Toegang met een variabele in plaats van een toets U kunt een waarde met een variabele in plaats van een sleutel De volgende code-segment illustreert dit: mijn $ herKey = 'Apple'; prent $ fruitColor {$ herKey}; Hash Functions De Hash heeft functies zoals de array functies We bekijken enkele hash functies Onderstaande elke functie De syntaxis om de verschillende functies te gebruiken.

. is: elk (% HashName) Deze uitdrukking retourneert de volgende sleutel /waarde paar of de volgende toets, afhankelijk van wat wordt genoemd in de lijst context of scalaire context In onze onderstaande code is de volgende sleutel /waarde paar die zal worden geretourneerd.. In de onderstaande code, gebruik ik de hash hierboven met vier elementen Dus als je het elke functie vier keer gebruikt u de vier verschillende sleutel /waarde paren hebben gelezen en probeer de volgende code: use strict; afdrukken "Content-Type..

: text /html \\ n \\ n "; mijn% fruitColor = (Apple =>" paars ", Banana =>" geel ", Peer =>" green ", Lemon =>" green "); afdrukken per stuk (% fruitColor); afdruk "print elk (% fruitColor); print" afdrukken per stuk (% fruitColor); afdruk "print elk (% fruitColor); print" In mijn computer had ik de volgende output: Bananayellow Applepurple Lemongreen Peargreen Nou, de sleutel en de waarde voor elk paar zijn niet gescheiden; laat ons geen zorgen over dat voor nu. De volgorde van de sleutel /waarde paren is niet dezelfde volgorde waarin we getypt ze in de hash.

Gewoon rekening mee dat dit niet kan worden vooraf bepaald. Dus het elke functie zal de volgende sleutel /waarde paar onder bepaalde voorwaarden retourneren. Het begint met wat het onder het eerste, dan wanneer deze opnieuw wordt opgeroepen, keert wat het onder de volgende, enzovoorts. De ActivePerl programmeur kan niet weten wat de volgorde waarin de elementen zullen worden geretourneerd. De toetsen functioneren van de syntaxis van de sleutels functie is: toetsen (% hashName) Het geeft een lijst (die kan worden gehouden door een reeks) van alle sleutels in een hash.

Lees en probeer de volgende code: use strict; print "Content-Type: text /html \\ n \\ n"; mijn% fruitColor = (Apple => "paars", Banana => "geel", Peer => "green", Lemon => "green"); mijnarr = toetsen (% fruitColor); afdrukkenarr; De volgorde van de terugkeer opnieuw toetsen wordt niet vooraf bepaald (niet de manier waarop ze werden getypt). De waarden Functie De syntaxis voor de waarden functie: waarden (% hashName) De waarden functie gedraagt ​​zich op dezelfde manier als de functie toetsen behalve dat het een lijst van de waarden in de hash en geen lijst van sleutels terug.

Lees en probeer de volgende code: use strict; 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.