TCL程序库与软件包

本文介绍了TCL程序库的创建和自动加载机制,包括使用auto_mkindex生成索引文件,设置auto_path以实现过程的高效加载。同时,讨论了TCL软件包的定位、声明、加载以及pkgIndex.tcl的重要性,强调了package require命令在加载软件包时的作用。
摘要由CSDN通过智能技术生成
1、关于程序库和软件包的说明
TCL程序库是包含了一个或多个实现一系列相关过程的TCL脚本文件的目录。TCL提供了一个标准过程库,实现了它的一些默认行为。
使用info library可以返回TCL库目录的完整路径名称,比如:
% info library
D:/Tcl/lib/tcl8.4
另外全局变量tcl_library也存放着相同的值。
% puts $tcl_library
D:/Tcl/lib/tcl8.4

当然也可以自己创建库。库的创建可以把有用的工具过程集合起来,创建可重用的库代码。依靠过程的自动加载,tcl可以在需要它们时高效地加载而不必显示地source调用它们的文件。
实现自动加载只需要以下几步:
1)库的创建,即创建指定目录的脚本文件集。这些文件通常以.tcl结尾,每个文件的内容可以是多个过程的定义,通常把相关联的过程放在一个文件中。
2)建立索引,使用auto_mkindex命令扫描所有名称与指定模式匹配的文件,建立一个索引,指定哪个过程是由哪个文件提供。
   命令原型为:auto_mkindex . *.tcl,创建的文件为tclIndex。
   下面是用命令生成的一个tclIndex的内容
   % more tclIndex
# Tcl autoload index file, version 2.0
# This file is generated by the "auto_mkindex" command
# and sourced to set up indexing information for one or
# more commands.  Typically each line is a command that
# sets an element in the auto_index array, where the
# element name is the name of a command and the value is
# a script that loads the command.

set auto_index(C85-484-basicinfo) [list source [file join $dir C85_484_basicinfo.tcl]]
set auto_index(C85-486-inband) [list source [file join $dir C85_486_inband.tcl]]
set auto_index(C85-487-bandonu) [list source [file join $dir C85_487_bindonu.tcl]]
set auto_index
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值