IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)


III - Utilisation et exemples

Par Nyal





  1. Utilisation
  2. Résultat



Utilisation


Voici un code en script shell sh montrant l'utilisation des tables de hashage. Ce script montre de facon didactique comment appeler et utiliser les fonctions sh.



#!/bin/sh

. "hash_lib.sh"

hash_add tab1 elem1 value1
hash_add tab1 elem2 value2
hash_add tab1 Elem3 value3
hash_add tab1 _elem4 value4
hash_add tab1 __elem5 value5
hash_add tab1 ELem6 value6
hash_add tab1 _Elem7 value7

hash_replace tab1 elem1 new_value1
hash_replace tab1 _elem4 new_value4
hash_delete tab1 elem2

hash_add tab1
hash_delete tab1 Elem19

echo
echo "###########################"
echo "# AFFICHAGE VIA SORT_KEYS #"
echo "###########################"
echo
hash_print tab1
echo
echo "###########################"
echo "#  AFFICHAGE DES VALUES   #"
echo "###########################"
echo
hash_values tab1
echo
echo "###########################"
echo "# SWAP TOTAL ET AFFICHAGE #"
echo "###########################"
echo
hash_swap_all tab1
hash_print tab1
echo
echo "###########################"
echo "#    CLEAN DE LA TABLE    #"
echo "###########################"
echo
hash_clean tab1
echo "done ..."
echo


Le script se décompose de la façon suivante :
  • Inclusion de la librairie sh contenant les fonctions simulant le système de table de hashage via la built-in '.'
  • Ajout de 7 éléments dans la table de hashage nommée tab1.
  • Remplacement des valeurs de 2 éléments de tab1.
  • Effacement d'un élément du tableau associatif.
  • Appel des fonctions hash_add et hash_delete avec des mauvais arguments (pour avoir un affichage d'erreur).
  • Affichage complet de la table de hashage.
  • Affichage des valeurs de cette même table.
  • Changement complet des clés et des valeurs du tableau associatif, suivi d'un affichage complet.
  • Effacement complet de la table.

Résultat



./demo_hash.sh
(hash_add) Usage: hash_add name_hash key value
(hash_delete) No value associated with key Elem19

###########################
# AFFICHAGE VIA SORT_KEYS #
###########################

ELem6 => value6
Elem3 => value3
_Elem7 => value7
__elem5 => value5
_elem4 => new_value4
elem1 => new_value1

###########################
#  AFFICHAGE DES VALUES   #
###########################

new_value1
value3
new_value4
value5
value6
value7

###########################
# SWAP TOTAL ET AFFICHAGE #
###########################

new_value1 => elem1
new_value4 => _elem4
value3 => Elem3
value5 => __elem5
value6 => ELem6
value7 => _Elem7

###########################
#    CLEAN DE LA TABLE    #
###########################

done ...