Maintenant, renommez d'autres commandes qui méritent d'être renommées, par exemple
& regsub R
& string S
& while W
Une commande mérite d'être renommée si, compte tenu de sa longueur n , et des occurrences k , k (n-1) - (n + 4)> 0 . Résolvant pour k , la formule devient k > (n+4)/(n-1)
. Voici un tableau de référence qui vous facilite la tâche:
length of minimum example(s)
command occurrences
------------------------------------------------
2 6 if (consider renaming to "?")
3 4 for, set (consider renaming to "=")
4 3 eval, expr, incr (consider renaming to "+"), info, join, proc, puts, scan
5 3 break, catch, lsort, split, subst, trace, unset, while
6 3 format, lindex, lrange, regexp, regsub, rename, return, string, switch
7 2 foreach, lappend, linsert, llength, lsearch, unknown
. 2 lreplace
. 2 continue
. 2
Pour les programmes plus importants, voici une astuce à laquelle j'ai pensé mais que je n'ai pas encore appliquée:
proc unknown {c args} {eval [info commands $c*] $args}
Cela émule des abréviations de commandes interactives! Il coûte 54 caractères, mais vous pouvez maintenant l'utiliser j
pour join
, sp
pour split
, st
pour string
, w
pour while
, etc.
info script {};set tcl_interactive 1