*   >> Lecture Éducation Articles >> science >> la programmation

Activeperl Hashes

ActivePerl Hashes Basics de ActivePerl - Partie 10 Introduction Cela fait partie de ma série 10, Bases de ActivePerl. Un hachage est comme un tableau, mais pas exactement le même. Dans cette partie du tutoriel, nous regardons le hachage de ActivePerl. Remarque: Si vous ne pouvez pas voir le code ou si vous pensez que quelque chose manquait (lien brisé, l'image absente), contactez-moi au [email protected]. Qui est, me contacter pour le moindre problème que vous avez à propos de ce que vous lisez.

Un Hash contenu Exemple La liste suivante présente quelques fruits et leurs couleurs d'Apple: => Banana violet => Poire jaune => Citron vert => vert Dans la liste, nous voyons que la pomme est le violet, la banane est jaune, etc. Le => signe montre simplement que l'article sur la gauche correspond à l'élément sur la droite. Ceci est une liste de hachage.

Penchons-nous sur une liste habituelle d'un tableau; une liste de prénoms de certains employés dans une entreprise: 0 1 John Mary 2 Pierre 3 Augustine 4 5 Angela Susan Martin 6 Dans la liste de tableau la première colonne doit toujours être indices; tandis que la deuxième colonne peut avoir nombres ou des chaînes. Dans une liste de hachage de la première colonne est pas nécessairement des indices; il peut être constitué de chiffres et /ou des chaînes; la deuxième colonne peut également être constitué de chiffres et /ou des chaînes.

La différence entre une liste de hachage et une liste de tableau est que, pour une liste de tableau de la première colonne se compose toujours des indices (en comptant le nombre de zéro), mais pour une liste de hachage la première colonne peut être des chiffres et /ou des chaînes. La deuxième colonne pour une liste de tableau ou de hachage peut être quelque chose (chiffres et /ou des chaînes). Pour les deux exemples ci-dessus, la liste des chaînes de hachage a pour la première colonne et la liste de tableau a ses inconditionnels indices. Le reste de ce tutoriel va traiter avec des hashs.

Création d'un Hash La syntaxe pour créer une table de hachage est: my% hashName = (key1 => valeur1, key2 => valeur2, key3 => value3, ...); Vous commencez avec le mot réservé, mon, puis un espace. Ensuite, vous avez le symbole%, suivi par le nom de la table de hachage. Le nom de hachage précédée par% est la variable de hachage. Après que vous avez l'opérateur d'affectation. Ensuite, vous avez la liste de hachage entre parenthèses (crochets). En regardant l'exemple de hachage ci-dessus, la première colonne est appelé les touches; la deuxième colonne est appelé les valeurs.

Vous les tapez en tant que telle à l'intérieur des parenthèses. Chaque élément de hachage intérieur des crochets commence avec la clé, suivie par le => signe (ie le signe égal suivi par le signe supérieur), alors la valeur correspondante. Avant de saisir l'élément suivant, vous devez saisir d'abord une virgule. Bien sûr, le dernier élément ne possède pas une virgule avant les crochets de fermeture. Eh bien, après les crochets de fermeture vous avez le point-virgule; ce qui indique la fin d'une instruction ActivePerl.

Si la valeur est une chaîne, il est tapé dans les tranches entre guillemets (simples ou doubles). Si la valeur est un nombre, il est pas tapé entre guillemets. Vous pouvez donner le nom, fruitColor à l'exemple de fruits ci-dessus. L'instruction suivante crée le hash dans ActivePerl: my% fruitColor = (Apple => "violet", Banana => "jaune", Poire => "vert", citron => "vert"); Notez que dans les tranches les touches ne sont pas entre guillemets.

La déclaration ci-dessus peut être tapé dans votre code clairement comme suit: my% fruitColor = (Apple => "violet", Banana => "jaune", Poire => "vert", citron => "vert"); Accéder à une valeur de hachage La syntaxe pour accéder à une valeur de hachage est: $ {hashName «clé»} Vous commencez avec un symbole $, suivi par le nom de hachage, puis une paire d'accolades. A l'intérieur des accolades, vous avez la clé (entre guillemets simples ou doubles) de la valeur correspondante.

Donc, pour accéder à la chaîne violet ci-dessus, vous devez taper: $ fruitColor {'Apple'} Dans cette expression la clé doit être entre guillemets, (simples ou doubles). Cependant, lors de la création du hachage les touches ne sont pas entre guillemets. Cette expression renvoie la valeur correspondant à la touche.

Modification d'une valeur de hachage Vous utilisez l'expression ci-dessus pour modifier une valeur de hachage comme suit: $ hashName {'clé'} = nouvelleValeur; Donc, pour changer la couleur de la pomme dans le hachage du violet au rouge, vous devez taper: $ fruitColor {'Apple'} = "red"; Lire et essayer le code suivant, où la couleur initiale pour la pomme est affiché, puis modifiée et re-affiche.

use strict; print "Content-Type: text /html \\ n \\ n"; mon% fruitColor = (Apple => "violet", Banana => "jaune", Poire => "vert", citron => "vert"); print $ {fruitColor 'Apple'}; imprimer "$ fruitColor {'Apple'} =" red "; print $ fruitColor {'Apple'};. Accès avec une variable à la place d'une clé Vous pouvez accéder à une valeur avec une variable à la place d'une clé Le segment de code suivant illustre ceci: my $ herKey = 'Apple'; print $ fruitColor {$ herKey}; fonctions de hachage Le Hash a des fonctions comme la matrice a des fonctions nous examinons certaines fonctions de hachage ci-dessous la fonction each La syntaxe à utiliser la fonction each.

. est: chaque (% HashName) Cette expression renvoie soit la paire clé /valeur suivante ou la touche suivante en fonction de ce qui est appelé le contexte de liste ou un contexte scalaire Dans notre code ci-dessous il est la paire clé /valeur suivante qui sera retourné.. Dans le code ci-dessous, je utiliser le hachage ci-dessus avec quatre éléments Donc, si vous utilisez la fonction each quatre fois, vous aurez les quatre paires différentes clé /valeur Lire et essayer le code suivant: use strict; print "Content-Type..

: text /html \\ n \\ n "; mon% fruitColor = (Apple =>" violet ", Banana =>" jaune ", Poire =>" vert ", citron =>" vert "); imprimer chaque (% fruitColor); print "print chaque (% fruitColor); print" print chaque (% fruitColor); print "print chaque (% fruitColor); print" Dans mon ordinateur, je eu le résultat suivant: Bananayellow Applepurple Lemongreen Peargreen Eh bien, la clé et la valeur pour chaque paire ne sont pas séparés; ne nous inquiétons pas de cela pour l'instant. L'ordre des paires clé /valeur est pas le même ordre dans lequel nous les avons tapé dans le hachage.

Il suffit de noter que cet ordre ne peut être prédéterminée. Ainsi, le chaque fonction sera de retour la paire clé /valeur suivante sous certaines conditions. Il commence avec ce qu'il considère comme la première, puis si elle est appelée à nouveau, il renvoie ce qu'il considère comme la prochaine, et ainsi de suite. Vous le programmeur de ActivePerl ne pouvez pas connaître l'ordre dans lequel les éléments seront retournés.

Les touches fonctionnent La syntaxe de la fonction des touches est: touches (% hashName) Il retourne une liste (qui peut être détenu par un tableau) de toutes les clés dans une table de hachage. Lire et essayer le code suivant: use strict; print "Content-Type: text /html \\ n \\ n"; mon% fruitColor = (Apple => "violet", Banana => "jaune", Poire => "vert", citron => "vert"); mesarr = touches (% fruitColor); imprimerarr; L'ordre des touches de revenir est pas prédéterminé (pas la façon dont ils ont été tapés).

Les valeurs Fonction La syntaxe de la fonction des valeurs est: valeurs (% hashName) La fonction de valeurs se comporte d'une manière similaire à la fonction des touches sauf qu'il retourne une liste des valeurs dans la table de hachage et non pas une liste des touches. Lire et essayer le code suivant: use strict; print "Content-Type: text /html \\ n \\ n"; mon% fruitColor = (Apple => "violet", Banana => "jaune", Poire => "vert", citron =>

Page   <<       [1] [2] [3] [4] >>
Copyright © 2008 - 2016 Lecture Éducation Articles,https://lecture.nmjjxx.com All rights reserved.