gpt4 book ai didi

tcl - 设置 TCL 以访问 tcl 库

转载 作者:行者123 更新时间:2023-12-04 23:16:44 29 4
gpt4 key购买 nike

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

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

invalid command name "::math::statistics::mv-ols"
None of these directories exist on my computer: 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

我收到了这个答案:
::math::statistics 是 TCLlib 的一部分。要检查是否已安装,请键入

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

我试过代码:
catch {package require nonexistentName}
package names
puts "[package names]"

我收到了:
Thread logger img::pixmap TclOO tablelist_tile struct::tree opt tcltest img::ico img::pcx struct::set msgcat pngtcl tablelist::common ftp Tclx trsync tdom img::sgi report comm dde Mk4tcl img::sun img::gif img::window textutil cmdline csv img::tga Img img::png Tktable Itk Ttrace tipstack zlibtcl img::base platform fileutil Tk vfs ActiveTcl http tbcload Memchan style struct::graph tablelist treectrl struct::queue img::jpeg activestate::teapot::link img::bmp registry jpegtcl tdomhtml tooltip snit img::ppm struct::stack tcl::tommath img::tiff tls widget struct img::xpm md5 BWidget img::xbm log starkit Tcl Trf tifftcl Itcl img::ps sqlite3 base64 trofs
0.7

我可能不理解 TCL,但在我使用过的其他语言中,有一种方法可以设置目录或文件列表,以便按特定顺序搜索被调用代码。在我看来,我需要告诉 tclsh85 去哪里看。

我从 ActiveState 下载了 tcl 8.5.13 和 BWidget 1.9.6 我安装了 tcl 并在我的计算机上解压了 BWidget,但它与我的 tcl 程序位于不同的位置。数学是其中的一部分吗?如果没有,我应该下载什么?当我在 Windows Vista 上运行时,我更喜欢只获得一个可执行版本而不是我需要构建的东西。我可以创建 tcl 程序,只要它们是独立的,或者如果我可以使用 SOURCE,一切都很好。我遇到麻烦的地方是在我的程序之外调用代码。

我担心需要为我的环境设置 auto_path,因为它现在与我计算机上的任何内容都不对应。

假设我对 tcl 的工作原理一无所知,请回答。我正在尝试自学(在互联网文档和回答问题的人的帮助下)。

谢谢你。

最佳答案

好的,我试着总结一下你的问题:

您想知道如何安装所需的软件包。

您可以使用 teacup安装它们,例如 teacup install math::statistics ,应该可以完成这项工作,或下载 tcllib并安装它。 Tcllib 的安装很简单,应该会自动选择正确的安装路径。要在代码中使用库,您只需执行 package require math::statistics
您想知道如何在 Tcl 应该查找库的位置添加目录。

根据它是什么类型的库,有两种可能性:

  • 如果有一个名为 pkgIndex.tcl 或 autoIndex 的文件,那么您必须修改 auto_path多变的。这可以通过 lappend auto_path path/to/the/files 来完成.
  • 如果只有一个以 .tm 结尾的文件,那么它有点复杂:您必须添加正确的父目录。因此,如果您有一个位于/some/directory/math/statistics.tm 中的 statistics.tm 文件,并且这是 math::statistics 包,那么适当的目录是/some/directory。您可以使用 ::tcl::tm::path add /some/directory 添加它.

  • 这样的事情几乎从来没有必要,并且因为您成功地安装了 BWidgets,所以 auto_path 对您来说应该没问题。请注意,Tcl 使用(与许多其他语言一样,包括 Java、Perl 等)单个 /作为路径分隔符而不是通常的窗口 \ .

    您更喜欢拥有一个可执行文件
    是的,这是可能的,但您应该首先了解如何获取软件包、需要哪些文件等。单文件 Tcl 分发的技术称为 Starkit ,一个非常有用的东西,但是你应该已经熟悉 Tcl 了。

    关于tcl - 设置 TCL 以访问 tcl 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14385865/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com