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

Étape 4: Exemples et cas de Test

Nous allons exercer le module, avec quelques cas de test.

Pour utiliser le module, qu'il faut

  • Ajoutez l’emplacement du module à la liste des chemins

    • Cela se fait après à la première ligne avec - I. /
    • . / suppose que le module est dans le même répertoire que le script
  • Ajoutez la ligne « utilisation par paire; »
    • Remarque le nom du package, le nom de fichier du module ont été choisis pour correspondre

La teststubs_pairwise.pl contient une version en cours d’exécution de ces exemples :

 #!/usr/bin/perl -I ./ <br>use strict; use Data::Dumper; use pairwise; ################## teststub1(); teststub2(); teststub3(); teststub4(); ################## #teststubs listed here 

Scénario de test 1: qui est avec moi.

Beignes sont une affaire sérieuse, si vous voulez que votre juste part.
Rien ne dit que nous prenons des beignes au sérieux comme l’automatisation d’un appel à l’action.
Dans le premier exemple, nous allons construire une carte de contact association & et créer un appel à l’action.

Code

 sub teststub1 {<br> print "teststub1\n"; my $kvp1 = pairwise->new(); $kvp1->addkvp('Chad' ,'locust team'); $kvp1->addkvp('Mike' ,'locust team'); $kvp1->addkvp('Dave' ,'locust team'); $kvp1->addkvp('Jon' ,'locust team'); $kvp1->addkvp('Chad' ,'volunteer'); $kvp1->addkvp('Jon' ,'volunteer'); $kvp1->addkvp('Steve' ,'Citizen Forester'); $kvp1->addkvp('Dave' ,'Music Fan'); # print Dumper $kvp1; print $kvp1->map2str() . "\n"; $kvp1->invertkvp(); print $kvp1->map2str() . "\n"; my $locust_team = $kvp1->getvalue('locust team'); print "locust team Assemble! Attn:" . join (' ', . "\n"; return; } 

Sortie (ces beignets ne sont pas une chance!)

 teststub1 Dave,1,Music Fan Dave,1,locust team Jon,1,locust team Jon,1,volunteer Mike,1,locust team Chad,1,locust team Chad,1,volunteer Steve,1,Citizen Forester Music Fan,1,Dave locust team,1,Dave locust team,1,Mike locust team,1,Jon locust team,1,Chad Citizen Forester,1,Steve volunteer,1,Jon volunteer,1,Chad locust team Assemble! Attn:Dave Mike Jon Chad 

Patate de scénario de test de 2: 1 pomme de terre 2...

Pouvons nous savoir si il n’y a plus de 1 pomme de terre

Code

 sub teststub2 {<br> print "teststub2\n"; my $kvp1 = pairwise->new(); $kvp1->addkvp('potato1' ,'red'); $kvp1->addkvp('potato2' ,'blue'); $kvp1->addkvp('potato1' ,'blue'); $kvp1->addkvp('potato1' ,'red'); $kvp1->addkvp('potato2' ,'blue'); $kvp1->addkvp('potato3' ,'red'); $kvp1->addkvp('potato4' ,'red'); $kvp1->addkvp('potato4' ,'red'); #print $kvp1->map2str() . "\n"; $kvp1->invertkvp(); #print $kvp1->map2str() . "\n"; #Mr Potato impersonators... my $redpotatos = $kvp1->getvalue('red'); if (scalar( gt '1') { print "More then 1 red potato here \n"; } else { print "Nothing is here ... move along \n"; } } 

Sortie (Avis la taille du tableau donne une indication de la force du lien)

 teststub2 More than 1 red potato here 

Scénario de test 3: La chasse pour la pomme de terre rouge

En logique, il y a un concept de . Modus Tollens. MT se résume « niant le qui en découle. »

Dit autrement, si vous n’avez pas q alors vous n’avez pas besoin de p et que p implique q
Nous allons utiliser cela dans le cadre d’un processus d’élimination pour trouver le vrai---euh---pommes de terre rouges.

Code

 sub teststub3 { print "teststub3\n"; my $kvp1 = pairwise->new(); $kvp1->addkvp('potato1' ,'blue'); $kvp1->addkvp('potato2' ,'red'); $kvp1->addkvp('potato1' ,'red'); $kvp1->addkvp('potato1' ,'blue'); $kvp1->addkvp('potato2' ,'red'); $kvp1->addkvp('potato3' ,'blue'); $kvp1->addkvp('potato4' ,'blue'); $kvp1->addkvp('potato4' ,'blue'); print "starting with : \n"; print $kvp1->map2str() . "\n"; $kvp1->invertkvp(); my $bluelist = $kvp1->getvalue('blue'); foreach my $tot ( $kvp1->removekey($tot); print "removing $tot from consideration\n"; } print "Modus Tolens NOT blue : \n"; print $kvp1->map2str() . "\n"; } 

Sortie (Remarquez malgré plusieurs liens associatifs, les pommes de terre avec les associations de bleues ont été retirées à le 1 étape)

 More then 1 red potato here <br>teststub3 starting with : potato4,2,blue potato2,2,red potato3,1,blue potato1,2,blue potato1,1,red removing potato4 from consideration removing potato3 from consideration removing potato1 from consideration Modus Tolens NOT blue : potato2,2,red 

Scénario de test 4: Histogrammes & recherche d’intersections

Donc si les valeurs représentent une coordonnée d’une clé spécifique, il peut être possible de déterminer les intersections

Code :

 sub teststub4 {<br> print "teststub4 finding interesection of defined points\n"; my $kvp1 = pairwise->new(); $kvp1->addkvp('wire1' ,'2,1'); $kvp1->addkvp('wire1' ,'2,2'); $kvp1->addkvp('wire1' ,'2,3'); $kvp1->addkvp('wire1' ,'2,4'); $kvp1->addkvp('wire1' ,'2,4'); $kvp1->addkvp('wire2' ,'4,2'); $kvp1->addkvp('wire2' ,'3,2'); $kvp1->addkvp('wire2' ,'2,2'); $kvp1->addkvp('wire2' ,'1,2'); print "starting with :\n"; print $kvp1->map2str() . "\n"; $kvp1->invertkvp(); my $multi = $kvp1->nonuniqkeys(); print "nonuniqkeys returns a hash of keys with multiple associations / overlaps\n" . Dumper $multi; $multi = $kvp1->nonuniqkvp(); print "nonuniqkeys returns a hash of kvp defined multiple times \n" . Dumper $multi; } 

Sortie : (Notez que le champ contient des virgules, et par défaut, le séparateur est une virgule. Cet exemple illustre comment jetons peut être rendue plus compliquée. La fonction de séparateur peut être utilisée pour changer ce que la méthode map2str rejoint les champs sur... Sinon, on pourrait stratégiquement prendre avantage de la situation. Dans les deux cas, mise en œuvre reproductible cohérente permet au développeur de comprendre et de travailler avec le comportement. )

 teststub4 finding intersection of defined points<br>starting with : wire1,1,2,3 wire1,1,2,2 wire1,2,2,4 wire1,1,2,1 wire2,1,3,2 wire2,1,1,2 wire2,1,4,2 wire2,1,2,2 nonuniqkeys returns a hash of keys with multiple associations / overlaps $VAR1 = { '2,2' => { 'wire1' => 1, 'wire2' => 1 } }; nonuniqkeys returns a hash of kvp difined multiple times $VAR1 = { '2,4' => { 'wire1' => 2 } }; 

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