[R] Scripting.Dictionary key <=> item

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

[R] Scripting.Dictionary key <=> item

#1

Message par walkson »

Bonjour,
En utilisant Scripting.Dictionary, on retrouve l'item d'une key. Mais peut on retrouver la key d'un item ?
Ci dessous un exemple comprenant mon problème (merci à Orax à qui j'ai emprunté l'exemple)
► Afficher le texte

Merci...
Modifié en dernier par walkson le ven. 01 août 2014 13:24, modifié 1 fois.
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Scripting.Dictionary key <=> item

#2

Message par jchd »

Non, il faut balayer le tout. Les Maps ont les mêmes caractéristiques.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Scripting.Dictionary key <=> item

#3

Message par walkson »

Dommage ! merci pour la réponse
jchd a écrit :Les Maps ont les mêmes caractéristique
Qu'est ce ? A part google maps ou drive map, je n'ai rien trouvé d'approchant.
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Scripting.Dictionary key <=> item

#4

Message par mikell »

jc ya un truc que je ne comprends pas
Microsoft dit ici
Key Property : sets a key in a Dictionary object.
object.Key(key) = newkey
Remarks : If key is not found when changing a key, a new key is created and its associated item is left empty.
Mais dans ce code, si j'essaie d'attribuer un nom à une clé qui n'existe pas, ben ça crée pô de nouvelle clé :?
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Scripting.Dictionary key <=> item

#5

Message par jchd »

walkson,
Une nouveauté disponible dans la beta qui va bientôt sortir en stable.

mikell,
En effet, mais ce n'est pas la première fois qu'on nous raconte des histoires.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Scripting.Dictionary key <=> item

#6

Message par walkson »

Bonjour,
Une dernière question:
En terme d'efficacité (temps, cpu, ram), Scripting.Dictionary est préférable ou non à un array 2D ? (mise en mémoire des variables et recherche de données)
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Scripting.Dictionary key <=> item

#7

Message par jchd »

Il est difficile de statuer en général. Ainsi, une Map ou objet SD seront plus efficaces pour la recherche clé -> valeur et lorsqu'on doit aggrandir périodiquement la taille d'un conteneur. Par contre l'accès sur index y est impossible (l'ordre n'est pas garanti) et la dimension du conteneur est fixée à 2 (clé, valeur) pour les SD ou est variable dynamiquement pour les Maps, donc les tableaux offrent d'autres possibilités.

Ce sont des conteneurs complémentaires.

Jon envisage l'assignation par référence pour les Maps et, éventuellement, pour les tableaux. Pour les Maps, ça nous fournirait un conteneur générique permettant l'implémentation de relations, ce que l'assignation par copie ne permet pas actuellement. Pour les tableaux, une étude préliminaire montre que l'assignation systématique par référence ne casserait que peu de code et surtout du code mal écrit ; à voir en pratique.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Scripting.Dictionary key <=> item

#8

Message par walkson »

Merci pour la réponse (rapide)
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Scripting.Dictionary key <=> item

#9

Message par jchd »

mikell a écrit :jc ya un truc que je ne comprends pas
Microsoft dit ici
Key Property : sets a key in a Dictionary object.
object.Key(key) = newkey
Remarks : If key is not found when changing a key, a new key is created and its associated item is left empty.
Réponse de Jon :
.Key() never existed. There's .Keys() which returns all the keys.
Son implémentation des Maps n'utilise pas les objets MS, tout simplement.

Par contre, cette méthode doit fonctionner avec un ScriptingDictionary.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [R] Scripting.Dictionary key <=> item

#10

Message par walkson »

Ce que j"aime chez JC, c'est sa qualité de Pro.
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Répondre