Tcl - Forfaits

Les packages sont utilisés pour créer des unités de code réutilisables. Un package se compose d'une collection de fichiers qui fournissent des fonctionnalités spécifiques. Cette collection de fichiers est identifiée par un nom de package et peut avoir plusieurs versions des mêmes fichiers. Le package peut être une collection de scripts Tcl, une bibliothèque binaire ou une combinaison des deux.

Le package utilise le concept d'espace de noms pour éviter la collision des noms de variables et des noms de procédure. Découvrez-en plus dans notre prochain didacticiel sur l' espace de noms .

Créer un package

Un package peut être créé à l'aide d'au moins deux fichiers. Un fichier contient le code du package. L'autre fichier contient le fichier de package d'index pour déclarer votre package.

La liste des étapes de création et d'utilisation du package est donnée ci-dessous.

ÉTAPE 1: Création de code

Créez du code pour le package dans un dossier, dites HelloWorld. Laissez le fichier être nommé HelloWorld.tcl avec le code comme indiqué ci-dessous -

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

ÉTAPE 2: Création de l'index du package

Ouvrez tclsh. Basculez vers le répertoire HelloWorld et utilisez la commande pkg_mkIndex pour créer le fichier d'index comme indiqué ci-dessous -

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

ÉTAPE 3: Ajouter un répertoire à Autopath

Utilisez la commande lappend pour ajouter le package à la liste globale comme indiqué ci-dessous -

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

ÉTAPE 4: Ajout d'un package

Ensuite, ajoutez le package au programme en utilisant l'instruction package require comme indiqué ci-dessous -

% package require HelloWorld 1.0

ÉTAPE 5: Procédure d'appel

Maintenant, tout étant en cours de configuration, nous pouvons invoquer notre procédure comme indiqué ci-dessous -

% puts [HelloWorld::MyProcedure]

Vous obtiendrez le résultat suivant -

HelloWorld

Les deux premières étapes créent le package. Une fois le package créé, vous pouvez l'utiliser dans n'importe quel fichier Tcl en ajoutant les trois dernières instructions comme indiqué ci-dessous -

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

Vous obtiendrez le résultat suivant -

HelloWorld