爲什麼在Tcl的交互模式下我不能使用w
代替while
?只有wh
似乎工作:(見Ideone.com demo)爲什麼我不能在Tcl的交互模式下使用'w`作爲'while'?
info script {}
set tcl_interactive 1
set i 0
wh {$i<10} {puts [incr i]}
w
似乎命令和特效的集合中很明確的:
puts [lsort [concat [info commands] [info procs]]]
後追加申請陣列auto_execok auto_execok auto_import auto_import auto_load auto_load auto_load_index auto_load_index auto_qualify auto_qualify二進制中斷案例catch cd chan時鐘時鐘關閉concat conti nue字典編碼eof錯誤eval exec退出expr fblocked fconfigure fcopy文件fileevent flush for foreach格式獲取glob global如果incr info interp連接lappend lassign lindex linsert list llength載入lrange lrepeat lreplace lreverse lsearch lset lsort命名空間打開軟件包pid proc put pwd讀取regexp regsub重命名回掃描謀設置套接字源分割字符串SUBST切換tclLog tclLog告訴時間跟蹤未知的未知卸載未設置更新uplevel upvar變量vwait而
這個問題,就像另一個我剛纔問,純粹是抽象的,我注意到了這一點奇怪的行爲,而代碼打高爾夫球,並想更好地理解內部。
的'auto_execok'是一個神奇的過程,查找如何運行一個名爲外部命令(有時是不平凡的任務)。當然有記錄。 –
啊,這會清理起來。謝謝! (順便說一句,這隻適用於[代碼高爾夫](http://codegolf.stackexchange.com/a/20570/14255) - 我不會在任何實際應用中使用它。)但它確實顯示它可能會顯着因爲它取決於用戶路徑中的程序,所以依賴於交互式快捷方式是不穩定的... –
Tcl在codegolf中通常不會像Perl中的那麼短。 Protip:縮寫子命令工作正常,你可以用'interp alias'做惡事。或者你可以選擇頸靜脈和部署壓縮代碼(在8.6中使用'zlib解壓縮')。 ;-) –