我已經更改了TCL內置的unknown
程序。我已將重命名爲unknown
至_unknown
並且在新的未知過程中執行一些自定義檢查。問題是停止了parma comamnd。當我設置一個數組,然後做粒子陣列它打印消息invalid command name "parray abc"
parray在TCL中停止工作
下面是代碼
rename unknown _unknown
proc unknown args {
puts "inside unknwn proc"
if { ![regexp {65ABC::\w+\s.*} $args] } {
uplevel 1 [list _unknown $args]
} else {
regexp {(65SABC::\w+)\s+(.*)} $args - procName params
regsub {65ABC::} $procName "65ABC8X::" procName
eval "$procName $params"
}
}
set abc(1) one
parray abc
inside unknwn proc
invalid command name "parray abc"
我無法重現您的代碼...即使重命名爲'未知',我也能'parray'工作得很好。 – Jerry
有你推出新的shell或者將代碼粘貼在同一個shell中 – Nitesh
也無法重現錯誤。我認爲你的代碼中其他東西一定是錯的。 –