鍍金池/ 教程/ 物聯(lián)網(wǎng)/ TCL包
TCL內(nèi)置函數(shù)
TCL變量
TCL嵌套循環(huán)
TCL決策
TCL循環(huán)
Tcl if...else語句
Tcl教程
TCL字符串
TCL邏輯運(yùn)算符
TCL Switch語句
TCL列表
TCL運(yùn)算符優(yōu)先級
TCL數(shù)據(jù)類型
TCL環(huán)境設(shè)置
TCL正則表達(dá)式
TCL命名空間
TCL運(yùn)算符
TCL特殊變量
TCL數(shù)組
TCL算術(shù)運(yùn)算符
Tcl For循環(huán)
TCL文件I/O
TCL關(guān)系運(yùn)算符
TCL if語句
TCL命令
TCL基本語法
TCL三元運(yùn)算符
TCL continue語句
TCL嵌套if語句
TCL字典
TCL break語句
TCL包
TCL 嵌套switch語句
TCL while循環(huán)
TCL位運(yùn)算符
TCL過程
TCL錯誤處理

TCL包

包用于創(chuàng)建代碼的可重用單位。程序包由提供特定功能的文件的集合。文件的這個集合是由包名稱標(biāo)識,可以有多個版本的相同的文件。所述包可以在Tcl腳本,二進(jìn)制庫的集合或兩者的組合。

包使用的命名空間的概念來避免變量名和過程名發(fā)生沖突。查看更多在我們的下一個命名空間教程

創(chuàng)建包

包可以以最小的兩個文件的幫助下被創(chuàng)建。一個文件包含包代碼。另一個文件包含聲明包索引文件包。

創(chuàng)建和使用程序包步驟列表如下。

步驟1:創(chuàng)建代碼

對于包文件夾內(nèi)創(chuàng)建代碼表示 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步:創(chuàng)建包INDEX

打開tclsh。切換到HelloWorld目錄,并使用pkg_mkIndex命令創(chuàng)建索引文件,如下圖所示。

% cd /Users/rajkumar/Desktop/helloworld 
% pkg_mkIndex . *.tcl

第三步:添加目錄到AUTOPATH

使用lappend命令來添加程序包到全局列表如下所示。

% lappend auto_path "/Users/rajkumar/Desktop/helloworld"

步驟4:添加軟件包

接下來添加程序包使用程序包編程要求聲明如下所示。

% package require HelloWorld 1.0

第5步:調(diào)用過程

現(xiàn)在,一切都被設(shè)置,可以調(diào)用我們的程序如下圖所示。

% puts [HelloWorld::MyProcedure]

會得到下面的結(jié)果。

HelloWorld

前兩個步驟創(chuàng)建軟件包。當(dāng)程序包被創(chuàng)建,可以通過添加最后三個報表如下圖所示,使用它在任何Tcl文件。

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

會得到下面的結(jié)果。

HelloWorld