- Tcl教程
- Tcl - 首页
- Tcl - 概述
- Tcl - 环境设置
- Tcl - 特殊变量
- Tcl - 基本语法
- Tcl - 命令
- Tcl - 数据类型
- Tcl - 变量
- Tcl - 运营商
- Tcl - 决策
- Tcl - 循环
- Tcl - 数组
- Tcl - 字符串
- Tcl - 列表
- Tcl - 字典
- Tcl - 程序
- Tcl - 套餐
- Tcl - 命名空间
- Tcl - 文件 I/O
- Tcl - 错误处理
- Tcl - 内置函数
- Tcl - 正则表达式
- TK 教程
- Tk - 概述
- Tk-环境
- Tk - 特殊变量
- Tk - 小部件概述
- Tk - 基本小部件
- Tk - 布局小部件
- Tk - 选择小部件
- Tk - 画布小部件
- Tk - 大型小部件
- Tk-字体
- Tk - 图像
- Tk - 活动
- Tk-Windows 管理器
- Tk - 几何管理器
- Tcl/Tk 有用资源
- Tcl/Tk - 快速指南
- Tcl/Tk - 有用的资源
- Tcl/Tk - 讨论
Tcl - 套餐
包用于创建可重用的代码单元。包由提供特定功能的文件集合组成。该文件集合由包名称标识,并且可以具有相同文件的多个版本。该包可以是 Tcl 脚本、二进制库或两者的组合的集合。
包使用命名空间的概念来避免变量名和过程名的冲突。在我们的下一个“命名空间”教程中查看更多内容。
创建包
可以在至少两个文件的帮助下创建包。一个文件包含包代码。其他文件包含用于声明包的索引包文件。
下面给出了创建和使用包的步骤列表。
第 1 步:创建代码
在 HelloWorld 文件夹内为包创建代码。将文件命名为 HelloWorld.tcl,代码如下 -
# /Users/rajkumar/Desktop/helloworld/HelloWorld.tcl # Create the namespace namespace eval ::HelloWorld { # Export MyProcedure namespace export MyProcedure # My Variables set version 1.0 set MyDescription "HelloWorld" # Variable for the path of the script variable home [file join [pwd] [file dirname [info script]]] } # Definition of the procedure MyProcedure proc ::HelloWorld::MyProcedure {} { puts $HelloWorld::MyDescription } package provide HelloWorld $HelloWorld::version package require Tcl 8.0
第 2 步:创建包索引
打开 tclsh.conf 切换到 HelloWorld 目录并使用 pkg_mkIndex 命令创建索引文件,如下所示 -
% cd /Users/rajkumar/Desktop/helloworld % pkg_mkIndex . *.tcl
第 3 步:将目录添加到自动路径
使用 lappend 命令将包添加到全局列表中,如下所示 -
% lappend auto_path "/Users/rajkumar/Desktop/helloworld"
第 4 步:添加包
接下来使用 package require 语句将包添加到程序中,如下所示 -
% package require HelloWorld 1.0
STEP 5:调用过程
现在,一切都已设置完毕,我们可以调用我们的程序,如下所示 -
% puts [HelloWorld::MyProcedure]
您将得到以下结果 -
HelloWorld
前两步创建包。创建包后,您可以通过添加最后三个语句在任何 Tcl 文件中使用它,如下所示 -
lappend auto_path "/Users/rajkumar/Desktop/helloworld" package require HelloWorld 1.0 puts [HelloWorld::MyProcedure]
您将得到以下结果 -
HelloWorld