Teraz zmień nazwę innych poleceń, których warto zmienić nazwę, np
& regsub R
& string S
& while W
Polecenie jest warte zmiany nazwy, jeśli z uwagi na jego długość n oraz wystąpienia k , k (n-1) - (n + 4)> 0 . Rozwiązując dla k , formuła staje się k > (n+4)/(n-1)
. Oto tabela referencyjna, która ułatwia:
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
W przypadku większych programów oto sztuczka, o której myślałem, ale jeszcze jej nie zastosowałem:
proc unknown {c args} {eval [info commands $c*] $args}
To emuluje interaktywne skróty poleceń! To kosztuje 54 znaków, ale teraz można używać j
do join
, sp
do split
, st
do string
, w
do while
, i tak dalej.
info script {};set tcl_interactive 1