LES DICTIONNAIRES

Un dictionnaire est un tableau sous forme de chaines de texte qui est manipulable par la commande dict.

exemple : 

set monDict [dict create nom "Jean" age 42 ville "Paris"]

Voici donc ci-dessous comment utiliser la commande dict. Comment faire pour :

ENREGISTRER LE DICTIONNAIRE DANS UN FICHIER

Comme il s'agit de chaines de caractères, nous allons l'enregistrer dansu n fichier texte.

set monDict [dict create nom "Jean" age 42 ville "Paris"]

set f [open "monDict.txt" w]
puts $f $monDict
close $f

lire le fichier texte dictionnaire

La lecture se fait en sens inverse  comme ceci :

set f [open "monDict.txt" r]
set contenu [read $f]
close $f
set monDict $contenu

ajouter une ou plusieurs clef(s) au dictionnaire

Ecrire ce code :

dict set monDict telephone "0123456789"

 

supprimer uen valeur 

Ecrire ce code : 

dict unset monDict telephone

Résultat :

nom Jean age 42

Rechercher une valeur

Si vous connaissez la clef :

set nom [dict get $monDict nom]
puts $nom

verifier si une clef existe

Le résultat renverra 1 si la clef existe en écrivant :

if {[dict exists $monDict telephone]} {puts "La clé existe"}

rechercher une valeur dans tout le dictionnaire

Soit le dictionnaire :

set monDict {
    nom Jean \
    age 42 \
    ville Paris
}

trouver toutes les memes valeurs

Pour trouver toutes les clefs qui ont les mêmes valeurs :

set resultat {}

dict for {cle valeur} $monDict {
    if {$valeur eq "Paris"} {
        lappend resultat $cle
    }
}

rechercher un motif dans les valeurs

Cette commande recherche dans toutes les valeurs du dictionnaire un motif.

Par exemple toutes les villes commençant par Pa :

dict for {cle valeur} $monDict {
    if {[string match "Pa*" $valeur]} {
        puts "$cle -> $valeur"
    }
}

REcchercher un motif dans les clefs

Rechercher les clés elles-mêmes

Par exemple toutes les clés contenant tel :

puts [dict keys $monDict "tel*"]