Coding anslutningar i Perl (1 / 5 steg)
Steg 1: Parvisa anslutningar i Perl - metoder
Överväg följande exempel:
Telefonkataloger ger en alfabetiskt ordnad lista över namn, så att läsaren att hitta vilket telefonnummer som är tilldelat till en person. Det finns också sådant som en "omvänd katalog" som gör att man kan börja med telefonnummer och få namnet på den person som är associerad med det numret. (Praktiskt när du vill ta reda på vem är att avbryta din middag!).
Nu till problemet, låt oss säga du arbetar med en datakälla som inte garanterar 1-1 föreningar. Ett exempel på detta skulle vara telefon partigränserna. Ett problem dyker upp när flera personer är associerad med flera. I Perl, om du använt en associativ array för snabb sökning, kan en omvänd version förlora information. Bilderna här illustrera hur med omvänd funktion på ett hash-värde kan leda till förlust av information. I ett exempel har vi en associativ array av telefonnummer. Det ser ut som vi förlorat kontakten med "Max". I det andra exemplet har vi fiktiva katalog av internet anslutna enheter. I detta fall förlorat vi kontakten med "konsoler". Andra uppenbara tecken på flera enheter använder samma adress åt sidan, förlust av information kommer att utvärdera med en vanlig associativ array problematisk.
I större skala består poster vanligtvis av flera områden. En telefonbok, även gatuadresser. Fältet är användbart för vissa look-ups men inte för andra. Adressfältet skulle vara ett exempel på ett associerat värde som inte är indexerad. Så man kan markera fälten behövs för utvärdering och ett unikt id-fält som rör det tillbaka till större posten. Dessa markerade fältet kan hjälpa med stöd beslutsfattande, och det unika ID-fältet kan sedan kan du välja från andra fält. Till exempel fick mobil, men vill prova mark linje.
Jag har investerat tid och ansträngning på att se arbetar i Perl med denna typ av uppgifter lättare och jag skulle vilja dela min lösning. En Perl "modul" är perfekt för detta. Perl ger "moduler" som kan användas för att kapsla in Detaljer för en implementering för återanvändning. I världen av Perl hittar du ett stort bibliotek med moduler från CPAN och alla utvecklare kan göra sina egna modul med marginell ansträngning och även erbjuda det upp till andra. Jag vilja bygga en återanvändbar modul av två skäl. Först vill jag sammanfatta detaljerna i genomförandet. För det andra vill jag göra konsekvent återanvändning av genomförandet. För att använda en modul omfattar en bara det i sin kod med hjälp av sökord använder.
De saker jag vill genomföra med denna modul omfattar:
- Initiering & medlem access / hävda
- Skriv ut & Debug
- Lägg till nyckel värdepar
- Ta bort nyckelvärde par
- Finns det en nyckel
- Lista alla nycklar
- Invertera nyckelvärde par