Bây giờ, đổi tên các lệnh khác có giá trị đổi tên, ví dụ:
& regsub R
& string S
& while W
Một lệnh có giá trị đổi tên nếu, với độ dài n và các lần xuất hiện k , k (n-1) - (n + 4)> 0 . Giải cho k , công thức trở thành k > (n+4)/(n-1). Đây là bảng tham chiếu giúp dễ dàng:
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
Đối với các chương trình lớn hơn, đây là một mẹo tôi nghĩ đến nhưng chưa được áp dụng:
proc unknown {c args} {eval [info commands $c*] $args}
Điều này mô phỏng viết tắt lệnh tương tác! Nó có giá 54 ký tự, nhưng bây giờ bạn có thể sử dụng jcho join, spcho split, stcho string, wcho while, v.v.
info script {};set tcl_interactive 1