Tcl - 包(Packages)

Tcl - 包(Packages) 首页 / Tcl/Tk入门教程 / Tcl - 包(Packages)

包(Packages)用于创建可重用的代码单元,使用命名空间的概念来避免变量名和过程名的冲突。在无涯教程的下一章" 命名空间" 教程中进一步了解。

创建包(Packages)

可以使用最少两个文件创建一个包,一个文件包含代码,其他文件包含索引程序包文件。

下面给出了创建和使用包的步骤列表。

步骤1 : 创建代码

在名为HelloWorld的文件夹中为包创建代码。让文件命名为HelloWorld.tcl,其代码如下所示-

# /Users/rajkumar/Desktop/helloworld/HelloWorld.tcl 
# 创建命名空间
namespace eval ::HelloWorld {
 
  # 导出我的程序
  namespace export MyProcedure
 
  # 变量
   set version 1.0
   set MyDescription "HelloWorld"
 
  # 脚本路径的变量
   variable home [file join [pwd] [file dirname [info script]]]
 
}
 
# MyProcedure 过程的定义
proc ::HelloWorld::MyProcedure {} {
   puts $HelloWorld::MyDescription
}

package provide HelloWorld $HelloWorld::version
package require Tcl 8.0

步骤2 : 创建包索引

打开tclsh。切换到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

步骤5 : 调用程序

现在,一切都已设置完毕,如下所示:

% puts [HelloWorld::MyProcedure]

您将获得以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/tcl-tk/tcl-packages.html

来源:LearnFk无涯教程网

HelloWorld

前两个步骤创建了包。创建包后,可以通过添加最后三个语句在任何Tcl文件中使用它,如下所示-

lappend auto_path "/Users/rajkumar/Desktop/helloworld"
package require HelloWorld 1.0
puts [HelloWorld::MyProcedure]

您将获得以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/tcl-tk/tcl-packages.html

来源:LearnFk无涯教程网

HelloWorld

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Python核心技术与实战 -〔景霄〕

OpenResty从入门到实战 -〔温铭〕

编辑训练营 -〔总编室〕

互联网人的英语私教课 -〔陈亦峰〕

数据分析思维课 -〔郭炜〕

攻克视频技术 -〔李江〕

超级访谈:对话汤峥嵘 -〔汤峥嵘〕

超级访谈:对话玉伯 -〔玉伯〕

现代C++20实战高手课 -〔卢誉声〕

好记忆不如烂笔头。留下您的足迹吧 :)