2011-03-07 54 views
0

我有一個像這樣在我的TCL一行代碼:的Tcl:無效的命令名稱錯誤

Application/BitTorrent set seqNo_ $opt(seqNo) 

..我有一個OTcl的類名是「應用程序/ BitTorrent的」,我得到這個錯誤...

 
invalid command name "Application/BitTorrent" 
    while executing 
"Application/BitTorrent set seqNo_ $opt(seqNo)" 

有人可以告訴我錯誤可能在哪裏嗎?

謝謝!

+0

現在有一個後續問題http://stackoverflow.com/questions/5226046/tcl-command-name-creation – 2011-03-08 01:23:51

回答

3

我討厭成爲一個明顯的指出,但錯誤正是消息所說的:在錯誤發生時,沒有名爲「Application/BitTorrent」的命令。

這可能意味着以下三種情況之一:命令名稱拼寫錯誤,命令尚未創建或已被銷燬,或存在但在當前上下文中不可見(例如,它存在在一些其他名稱空間或尚未導入的包或文件中)。

+0

感謝您的快速回復!你能告訴基本語法來在tcl中創建一個命令嗎?我其實是tcl的新手。 – 2011-03-07 21:46:22

+0

Tcl中的命令是使用proc創建的。你可以返回一個值(任何類型的Tcl變量)。您甚至可以通過定義具有相同名稱和範圍的proc來替換內置命令,所以要小心。 – 2011-12-01 22:41:54

0

除了Bryan Oakey指出的可能性之外,也許你正在對腳本運行一個ns可執行文件的錯誤副本。例如,您可能實際上正在使用/usr/bin/ns而不是使用內部編譯的應用程序代碼(通常爲/ns-all-in-one/bin/ns)。要檢查,如果這是在bash下的情況下,使用

type ns 

如果情況確實如此,而一個是領先於$PATH,那麼就意味着在bash命令哈希已過時。您可以使用hash -d ns來刪除舊的緩存。

相關問題