ajout de subcommandes à la commande string
#2
Bonne idée.

Quelques idées/questions en vrac :

Y'a-t-il une raison particulière à utiliser set string plutôt que return $string ?
__________
Pour une librairie de ce genre, la rapidité d'exécution est cruciale et quelques optimisations seraient les bienvenues. Même si ça n'a l'air de rien, quelques µs gagnées sur une proc exécutée plusieurs fois par seconde peuvent avoir un effet sensible.
Voici à quoi je fais allusion :
tcl
expr {$string==""}


pour tester une condition impliquant une string, eq et ne sont plus rapides que == et != (et inversement pour tester une équivalence numérique), donc :
tcl
expr {$string eq ""}


__________
tcl
set string [string replace $string $index2 $index2 $tmp]
set string [string replace $string $index1 $index1 $tmp2]


deviendrait
tcl
return [::tcl::string::replace [::tcl::string::replace $string $index2 $index2 $tmp] $index1 $index1 $tmp2]


On économise ainsi quelques instructions.
A noter aussi que ::tcl::string::replace s'exécute plus rapidement que string replace car ça épargne à l'interpréteur la peine de devoir localiser le namespace.
Même chose pour les string length qui deviendront des ::tcl::string::length et les string empty qui deviendront des ::tcl::string::empty.
__________
tcl
set j [expr {int(rand()*$len)}]
set string [string xchang $string $i $j]


pourrait s'écrire
tcl
set string [::tcl::string::xchang $string $i [expr {int(rand()*$len)}]]


et d'autres cas similaires ci et là.
Répondre Avertir


Messages dans ce sujet
RE: ajout de subcommandes à la commande string - par MenzAgitat - 24/03/2011, 01:34

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté