Tcl - Pakete

Pakete werden zum Erstellen wiederverwendbarer Codeeinheiten verwendet. Ein Paket besteht aus einer Sammlung von Dateien, die bestimmte Funktionen bereitstellen. Diese Dateisammlung wird durch einen Paketnamen identifiziert und kann mehrere Versionen derselben Dateien enthalten. Das Paket kann eine Sammlung von Tcl-Skripten, eine Binärbibliothek oder eine Kombination aus beiden sein.

Das Paket verwendet das Konzept des Namespace, um eine Kollision von Variablennamen und Prozedurnamen zu vermeiden. Weitere Informationen finden Sie in unserem nächsten ' Namespace' -Tutorial.

Paket erstellen

Ein Paket kann mit Hilfe von mindestens zwei Dateien erstellt werden. Eine Datei enthält den Paketcode. Andere Datei enthält die Indexpaketdatei zum Deklarieren Ihres Pakets.

Die Liste der Schritte zum Erstellen und Verwenden von Paketen ist unten angegeben.

SCHRITT 1: Code erstellen

Erstellen Sie Code für ein Paket in einem Ordner, z. B. HelloWorld. Lassen Sie die Datei HelloWorld.tcl mit dem unten gezeigten Code heißen -

# /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

SCHRITT 2: Paketindex erstellen

Öffnen Sie tclsh. Wechseln Sie in das HelloWorld-Verzeichnis und verwenden Sie den Befehl pkg_mkIndex, um die Indexdatei wie unten gezeigt zu erstellen.

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

SCHRITT 3: Hinzufügen eines Verzeichnisses zu Autopath

Verwenden Sie den Befehl lappend, um das Paket wie unten gezeigt zur globalen Liste hinzuzufügen.

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

SCHRITT 4: Paket hinzufügen

Als nächstes fügen Sie dem Programm ein Paket hinzu, indem Sie die Anweisung package require wie unten gezeigt verwenden.

% package require HelloWorld 1.0

SCHRITT 5: Prozedur aufrufen

Nachdem alles eingerichtet ist, können wir unsere Prozedur wie unten gezeigt aufrufen -

% puts [HelloWorld::MyProcedure]

Sie erhalten folgendes Ergebnis:

HelloWorld

Die ersten beiden Schritte erstellen das Paket. Sobald das Paket erstellt wurde, können Sie es in jeder Tcl-Datei verwenden, indem Sie die letzten drei Anweisungen wie unten gezeigt hinzufügen.

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

Sie erhalten folgendes Ergebnis:

HelloWorld