• Ce forum est la traduction générée par la machine de www.cad3d.it/forum1 - la communauté italienne du design. Plusieurs termes ne sont pas traduits correctement.

WCMATCH avec caractères numériques

  • Auteur du sujet Auteur du sujet Joseph
  • Date de début Date de début

Joseph

Guest
le code de commande wcmatch suivant appliqué aux chaînes contenant des nombres (entre 0 et 9) pourrait tromper.
par exemple, je définit la chaîne str:
(setq str "var1 var2 var3 var4 var5)

j'applique donc quelques comparaisons et j'en fais écho.
1) (point d ' emballage[2-59]*") ->t
2) (wcmatch str "*var[6-89]*) >nil
(wcmatch str)[6-92]**

raisonnement incorrect:
1) que t sort, je suis tenté de déduire qu'il est juste parce que dans la gamme de var2 à var99 il y a au moins une chaîne entre var1 et var5.
2) comme zéro sort, même ici je suis tenté de déduire qu'il est juste parce que la plage de var6 à var89 est complètement externe à la plage de var1 à 5.
3) selon le raisonnement précédent j'aurais attendu zéro, parce que l'intervalle de var6 à var92 est complètement externe à celui de var1 à var5.

relisant l'aide bien j'ai réalisé que wcmatch compare un caractère à la fois, donc le code [6-92] doit être lu de cette façon: intervalle entre var6 et var9 et la chaîne var2; les sous-chaînes à comparer avec la chaîne str sont donc:
var6, var7, var8, var9 et var2, et c'est ce dernier qui fait ressortir le résultat t étant entre var1 et var5.
 

Statistiques du forum

Sujets
58 521
Messages
499 056
Membres
104 110
Dernier membre
ChristianR

Membres en ligne

Aucun membre en ligne actuellement.
Retour
Haut