【发布时间】:2012-07-15 01:01:47
【问题描述】:
我已经开始学习 TCL 脚本语言了。我使用的是 ActivateState Tcl Devkit 5.3.0。 当我创建新模拟器时,它会出现这样的错误:
无效的命令名称“新” 在执行时 “新模拟器” 从内部调用 “设置 ns [新模拟器]”【问题讨论】:
标签: tcl
我已经开始学习 TCL 脚本语言了。我使用的是 ActivateState Tcl Devkit 5.3.0。 当我创建新模拟器时,它会出现这样的错误:
无效的命令名称“新” 在执行时 “新模拟器” 从内部调用 “设置 ns [新模拟器]”【问题讨论】:
标签: tcl
Tcl 中没有命令new。
所以它是由一些包或一些修改过的shell提供的。
假设您使用 ns2 或类似的东西,您需要使用适当的 shell 或通过package require 将包加载到普通的 tclsh shell 中。
【讨论】:
new 对 Tcl 没有任何特殊意义(尽管在 8.6 中它是一个类方法名)。我不确定什么对象系统定义了 new 命令;它不是 TclOO、Itcl、XOTcl 或 Snit 的一部分。
new 命令。
ld 动态链接器的帮助下,这就是它称为 LD_LIBRARY_PATH 的原因)。通常 Tcl 查看 ::auto_path 全局变量的值和包的直接子目录(例如 pkgIndex.tcl 文件)。如果你在包中没有看到pkgIndex.tcl 文件,你要么需要创建一个文件,要么使用load 和source 命令直接加载库。
如果你使用的是 ns(几个小时前我遇到了完全相同的错误,所以我猜是的 ^^)你可以试试这个命令:
ns your_tcl_script.tcl
如果 ns 安装正确,它将为您建立链接
祝你有美好的一天
【讨论】: