Codage des connexions en Perl (3 / 6 étapes)

Étape 3: Construire le module

Nous allons donc voir ce que nous avons appris dans le modèle simple et combinez-le avec la liste des méthodes pour créer un module réutilisable. Le fichier pairwise.pm contienne le code exécutable.

La structure d’un module est comme suit :

 cat PACKAGENAME.pm #!/usr/bin/perl use strict;<br>package PACKAGENAME; <all that module code> 1; # optionally # documentation # commented out test cases 

Nous allons étoffer les méthodes module décrits à l’étape 1.

Méthodes #initialization & membres

 sub new { my $self = {}; $self->{'map'} = {}; #empty hash $self->{'sort'} = 'dnc'; #sort order $self->{'sep'} = ','; #separator character default comma $self->{'debug'} = ''; #debug tokens bless($self); return $self; } 
 sub debug { my ( $self, $val ) = $self->{'debug'} = $val if defined($val); return $self->{'debug'}; } 
 sub reset { my ( $self, $val ) = $self->{'map'} = {}; return ; } 
 #Helper method to override separator for map2str sub separator { my ( $self, $val ) = $self->{'sep'} = $val if defined($val); return $self->{'sep'}; } 

# Méthodes impression

 sub map2str { my ($self ) = my $str = ''; my $hashref = $self->{'map'}; foreach my $key (keys(%$hashref)){ #print "key=$key\n"; foreach my $val (keys(%{$hashref->{$key}})){ # line format= key,cnt,val\n $str .= $key; $str .= $self->{'sep'}; $str .= $self->{map}->{$key}->{$val}; $str .= $self->{'sep'}; $str .= $val; $str .= "\n"; } } if ($self->{'debug'} =~ m/map2str/) { $str .= "DEBUG" . "\n"; $str .= Dumper $self->{'map'}; } return $str; } 

# Méthodes de Manipulation association

 #Add Key Value Pair sub addkvp { my ($self , $key , $val) = my $res = '1'; if ( defined($val) && defined($key)) { $self->{'map'}->{$key}->{$val} ++ ; } else { $self->{'map'}->{$key}->{$val} = '1'; $res = '0'; } return $res; } 
 #assert the whole map if you already have itsub assertkvps { my ($self , $map) = my $res = '1'; if ( defined($map) ) { $self->{'map'} = $map ; } else { $res = '0'; } return $res; } 
 #Remove Key Value Pair sub removekey { my ($self, $key ) = my $is_reg = 0 ; if (exists $self->{map}->{$key}) { $is_reg = 1 ; delete $self->{map}->{$key}; } return $is_reg; } 
 #Invert Key Value Pair<br>sub invertkvp { my ($self) = my $hashref = $self->{map}; my $revhash = {}; foreach my $key (keys(%$hashref)){ foreach my $val (keys(%{$hashref->{$key}})){ $revhash->{$val}->{$key} = $hashref->{$key}->{$val}; } } $self->{map} = $revhash; return; } 

#Association méthodes d’évaluation :

 # Does Key exist returns 0/2 Boolean based on key's existance sub is_registered { my ($self, $key ) = my $is_reg = 0 ; if (exists $self->{map}->{$key}) { $is_reg = 1 ; } return $is_reg; } 
 # List All Keys returns arrayref sub getkeys { my ($self, $key ) = #my my = keys(%{ $self->{map} }); return \ } 
 # get key value returns arrayref sub getvalue { my ($self, $key ) = my if (exists $self->{'map'}->{$key}) { = keys(%{ $self->{'map'}->{$key} }); } else { print "no\n";} return \ } <br> 
 #get the map back as a hash sub gethash { my ($self) = my $reg = $self->{map}; return $reg; } 
 #non-uniq Key Value Pair returns hashref of keys with more then 1 value sub nonuniqkvp { my ($self) = my $hashref = $self->{map}; my $nonuniq = {}; foreach my $key (keys(%$hashref)){ foreach my $val (keys(%{$hashref->{$key}})){ if ($hashref->{$key}->{$val} gt 1) { $nonuniq->{$key}->{$val} = $hashref->{$key}->{$val}; } } } return $nonuniq; } 
 #non-uniq Key Value Pair returns a hashref of kvp with link count greater then 1 sub nonuniqkeys { my ($self) = my $hashref = $self->{map}; my $nonuniq = {}; foreach my $key (keys(%$hashref)){ if (scalar(keys(%{$hashref->{$key}}) gt '1')) { $nonuniq->{$key} = $hashref->{$key}; } } return $nonuniq; } 

N’oubliez pas de fermer le paquet « 1; »

 1; 

Prochain nous allons exercer le paquet avec des exemples de cas de test.

Articles Liés

Décodage des Messages secrets de l’espace !

Décodage des Messages secrets de l’espace !

Cette instructable montre mes tentatives de décodage des messages secrets de l'espace... en forme de transformations de Fourier de photos de superamas. Laissez-moi expliquer.Je lisais dans mon traitement d'Image numérique livre (2ème édition) sur que
Comment faire des Bracelets de perles avec perles acryliques

Comment faire des Bracelets de perles avec perles acryliques

PandaHall bijoux faisant tutoriel : comment utiliser de gros perles acryliques pour faire des bracelets de perles. Vous pouvez bricolage ce bracelet perlé fleuri couleur arc-en-ciel avec angle droit tissage point.Proviennent de matériaux http://www.p
Comment faire pour obtenir tous le site Web conception/codage des outils dont vous avez besoin - gratuitement !

Comment faire pour obtenir tous le site Web conception/codage des outils dont vous avez besoin - gratuitement !

Intéressé à apprendre à coder ou construire votre propre site Web mais n'avez pas envie de passer votre durement gagné en espèces sur les livres et logiciels ? Aujourd'hui de codage et de construction de site Web est si commun que vous pouvez trouver
Flasque arrière V2 tutoriel codage des graines

Flasque arrière V2 tutoriel codage des graines

Dans cette Intructable nous parler d'un problème courant dans les émissions, la méthode descendante de programmation et apprendre à contrôler la V2.0 de bouclier moteur Seeed pour l'Arduino Uno. Laisse ainsi passer directement à elle.Dans le secteur
Le danger des connexions électriques mou et leur fixation !

Le danger des connexions électriques mou et leur fixation !

Dans le monde de l'énergie électrique, il est important que toutes les connexions soient mis en toute sécurité. Il est obtenu d'être serré (pas si serrée que vous abîmer filetage des boulons/vis) afin d'éviter les contacts de haute résistance qui cré
RC de décodage des signaux en utilisant arduino

RC de décodage des signaux en utilisant arduino

#ThugLifeRobotHé les gars là-bas,Aujourd'hui je vais vous les gars montrer comment utiliser les contrôleurs de RC et décoder leurs signaux pour vos projetsComme beaucoup d'entre vous savent que nous pouvons directement utiliser servo-moteurs avec réc
Comment faire des connexions à Pier 9

Comment faire des connexions à Pier 9

Vous voulez rencontrer des gens dans le laboratoire d'électronique, mais n'ai aucune idée de quoi parler ? Faire des liens ! Interrogez-les sur un projet qui a échoué dans le domaine, les chances sont que c'est à cause d'une mauvaise connexion.Nous a
Leçon 4: Base Arduino PT. 2: Introduction au codage des

Leçon 4: Base Arduino PT. 2: Introduction au codage des

Bienvenue, apprenants désireux. Pour ceux qui découvrent cette série, s'il vous plaît voir mes leçons précédentes en base électrotechnique. Pour ceux qui ne sont pas nouveaux, se préparent à entrer dans le monde du codage, où vous pouvez manipuler le
Comment faire l’éolienne cloche qui pend des ornements avec perles

Comment faire l’éolienne cloche qui pend des ornements avec perles

Vous aimez Eolien bell ? Eolien bell est un ornement de belle pendaison pour porte et chambre à coucher. Projet de bricolage d'aujourd'hui, j'ai fait une cloche Eoliennes perle suspendus ornement. La partie difficile rend le talon, accrocher des bran
Magasin bon marché et facile des connexions Vac

Magasin bon marché et facile des connexions Vac

Je ne sais pas si quelqu'un d'autre a ce problème, mais je n'ai certainement : J'ai quatre outils disposant de ports de collection de poussière - une table à toupie, une ponceuse à courroie/à disque benchtop. une tronçonneuse (onglets) et une scie de
Soccer Ball abat-jour avec des connexions de Yin Yang

Soccer Ball abat-jour avec des connexions de Yin Yang

J'ai vu une photo d'un ballon de papier scintillement made comme cela.De ce que j'ai trouvé, cela a été rendu par Phillip Chapman-Bell. Si c'est incorrect s'il vous plaît laissez-moi savoir.La forme de ballon de football est faite d'hexagones et de p
Comment faire des ornements de perles en bois

Comment faire des ornements de perles en bois

Ok, alors voici un moyen super simple et facile de faire certains naturelle et rustique à la recherche d'ornements. Êtes-vous prêt pour cela ? Si vous clignotent vous risquez de manquer ce tutoriel parce qu'il est tout aussi simple que cela !Vous aur
Shunt de cavaliers pour la réalisation des connexions efficaces et sûrs

Shunt de cavaliers pour la réalisation des connexions efficaces et sûrs

savoir sur cavalier :Un cavalier est la brièveté d'un conducteur qui est utilisé pour contourner un circuit électrique. En particulier dans l'électronique, cavaliers servent à configurer les cartes de circuits imprimés, y compris les cartes mères. Ca
Cadeaux fête des mères-comment faire des feuilles perle perles pinces à cheveux pour les femmes

Cadeaux fête des mères-comment faire des feuilles perle perles pinces à cheveux pour les femmes

Vous cherchez des cadeaux de fête des mères ? Si oui, regardez ici ! Aujourd'hui, je vais partager vous un tutoriel Pandahall sur comment faire des pinces à cheveux perles feuille pour les femmes !Etape 1: Le matériel nécessaire pour la pince à cheve