0

我是 TCL 新手,正在努力访问其他模块。SOURCE 命令帮助我包含了我在 TCL 程序中编写的其他代码。但是,我认为我在访问代码库时遇到了问题。

例如,当我引用一个数学函数时,找不到它。我认为在搜索通过 tchsh85 调用的程序时,我必须做一些事情来包括数学库在我的计算机上的位置。

invalid command name "::math::statistics::mv-ols"

我的计算机上不存在以下目录:

info library= C:/Tcl/lib/tcl8.5
auto_path= C:/Tcl/lib/tcl8.5 C:/Tcl/lib c:/tcl/lib/teapot/package/win32-x86_64/lib               c:/tcl/lib/teapot/package/tcl/lib
tcl library= C:/Tcl/lib/tcl8.5
auto_index= source C:/Tcl/lib/tcl8.5/word.tcl
auto_index= source C:/Tcl/lib/tcl8.5/tm.tcl
auto_index= source C:/Tcl/lib/tcl8.5/tm.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/parray.tcl
auto_index= source C:/Tcl/lib/tcl8.5/history.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/history.tcl
auto_index= source C:/Tcl/lib/tcl8.5/package.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/history.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/word.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/word.tcl
auto_index= source C:/Tcl/lib/tcl8.5/package.tcl
auto_index= source C:/Tcl/lib/tcl8.5/tm.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/history.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/history.tcl
auto_index= source C:/Tcl/lib/tcl8.5/package.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/history.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/tm.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/word.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/package.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/history.tcl
auto_index= source C:/Tcl/lib/tcl8.5/package.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/word.tcl
auto_index= source C:/Tcl/lib/tcl8.5/history.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/auto.tcl
auto_index= source C:/Tcl/lib/tcl8.5/history.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
auto_index= source C:/Tcl/lib/tcl8.5/tm.tcl
auto_index= source C:/Tcl/lib/tcl8.5/tm.tcl
auto_index= source C:/Tcl/lib/tcl8.5/safe.tcl
4

2 回答 2

2

您想要成功的命令是:

package require math::statistics

您不应该通过其他方式(如直接source)获取代码,因为您随后将绑定到包的实现而不是它的规范。该软件包是 Tcllib 集合的一部分,您应该将其安装在计算机的某个位置。

如果你使用 ActiveTcl,你想做:

teacup update

这将安装许多软件包并设置您需要的所有路径。

如果您使用自己的构建,则必须自己下载 Tcllib 的副本并按照其安装说明进行操作。我不记得它在 Window 上默认安装到哪里,但假设它是安装到C:\Tcl\lib\Tcllib(在其子目录中的实际包):在这种情况下,您可以通过执行以下操作使包对 Tcl 可用:

lappend auto_path C:/Tcl/lib/Tcllib

如果您正在制作可再分发的可执行文件,还有其他技术。在这种情况下再问一个问题。

于 2013-01-18T08:32:45.663 回答
0

::math::statistics 是 TCLlib 的一部分。要检查是否已安装,请键入

package require tcllib

如果已安装,它会告诉您版本号。如果没有安装,您可以使用Teacup为您安装。

于 2013-01-17T16:30:29.243 回答