Étape 1: Connexions par paires en Perl - méthodes
Considérez l’exemple suivant :
Annuaires téléphoniques offrent une liste triée par ordre alphabétique des noms, ce qui permet au lecteur de trouver à quel numéro de téléphone est attribué à une personne. Il y a aussi une telle chose comme un « annuaire inversé » qui permet de commencer avec le numéro de téléphone et obtenir le nom de la personne associée à ce nombre. (Très pratique lorsque vous voulez savoir qui est interrompre votre dîner!).
Maintenant le problème, nous allons dire vous travaillez avec une source de données ne garantit pas les associations 1-1. Un exemple de ceci serait téléphone lignes de parti. Un problème surgit lorsque plus d’une personne est associée à un numéro. En Perl, si vous avez utilisé un tableau associatif pour la recherche rapide, une version inversée pourrait perdre des informations. Les images ici illustrent comment à l’aide de la fonction reverse sur un hachage peut conduire à une perte d’information. À titre d’exemple, nous avons un tableau associatif des numéros de téléphone. Il semble que nous avons perdu la trace de « Max ». Dans l’autre exemple, nous avons fictive catalogue d’appareils connectés à internet. Dans ce cas nous avons perdu la trace de « consoles ». Autres indications évidentes de plusieurs périphériques en utilisant la même adresse de côté, la perte d’information fera évaluer avec un simple tableau associatif problématique.
Sur une grande échelle, dossiers sont généralement composées de plusieurs champs. Un annuaire téléphonique, comprend également les adresses postales. Le champ adresse est utile pour certaines recherches, mais pas pour d’autres. Le champ adresse serait un exemple d’une valeur associée qui n’est pas indexée. Ainsi, on pourrait choisir les champs nécessaires pour l’évaluation et un champ de numéro d’identification unique qui se rapporte au record du plus grand. Ces champ sélectionné peut aider à la prise de décision de prise en charge et le le champ id unique peut alors vous permettre sélectionner d’autres domaines. Par exemple, a obtenu le téléphone portable, mais qui veulent essayer la ligne terrestre.
J’ai investi temps et efforts à rendre le travail dans Perl avec ce type de données plus facile et je voudrais partager ma solution. Un Perl « module » est parfait pour cela. Perl propose des « modules » qui peuvent être utilisés pour encapsuler les détails d’implémentation pour les réutiliser. Dans le monde de Perl, vous trouverez une vaste bibliothèque de modules fournis par CPAN, et n’importe quel développeur peut faire leur propre module avec effort marginal et même l’offrir à d’autres. J’aime élaborer un module réutilisable pour deux raisons. Tout d’abord, je tiens à encapsuler les détails de mise en œuvre. Ensuite je lance réutilisation cohérente de la mise en œuvre. Pour utiliser un module un il comprend simplement dans leur code en utilisant le mot-clé à utiliser.
Les choses que je veux mettre en place avec ce module incluent :
- L’initialisation & membre accéder / assertion
- Impression & Debug
- Ajouter une paire de valeur de la clé
- Supprimer la paire clé valeur
- Clé existe-t-elle
- La liste de toutes les clés
- Inverser la valeur de clé paire