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步:创建包INDEX
打开tclsh。切换到HelloWorld目录,并使用pkg_mkIndex命令创建索引文件,如下图所示。
% cd /Users/rajkumar/Desktop/helloworld % pkg_mkIndex . *.tcl
第三步:添加目录到AUTOPATH
使用lappend命令来添加程序包到全局列表如下所示。
% lappend auto_path "/Users/rajkumar/Desktop/helloworld"
步骤4:添加软件包
接下来添加程序包使用程序包编程要求声明如下所示。
% package require HelloWorld 1.0
第5步:调用过程
现在,一切都被设置,可以调用我们的程序如下图所示。
% puts [HelloWorld::MyProcedure]
会得到下面的结果。
HelloWorld
前两个步骤创建软件包。当程序包被创建,可以通过添加最后三个报表如下图所示,使用它在任何Tcl文件。
lappend auto_path "/Users/rajkumar/Desktop/helloworld" package require HelloWorld 1.0 puts [HelloWorld::MyProcedure]
会得到下面的结果。
HelloWorld
本站文章除注明转载外,均为本站原创或编译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创优秀实例教程
转载请注明:文章转载自:代码驿站 [http:/www.codeinn.net]
本文标题:TCL包
本文地址:http://www.codeinn.net/tcl/1095.html
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创优秀实例教程
转载请注明:文章转载自:代码驿站 [http:/www.codeinn.net]
本文标题:TCL包
本文地址:http://www.codeinn.net/tcl/1095.html