Tcl - Paket

Paket digunakan untuk membuat unit kode yang dapat digunakan kembali. Paket terdiri dari sekumpulan file yang menyediakan fungsionalitas tertentu. Kumpulan file ini diidentifikasi dengan nama paket dan dapat memiliki beberapa versi file yang sama. Paket dapat berupa kumpulan skrip Tcl, pustaka biner, atau kombinasi keduanya.

Paket menggunakan konsep namespace untuk menghindari benturan nama variabel dan nama prosedur. Lihat lebih lanjut di tutorial ' namespace ' kami berikutnya .

Membuat Paket

Sebuah paket dapat dibuat dengan bantuan minimal dua file. Satu file berisi kode paket. File lain berisi file paket indeks untuk mendeklarasikan paket Anda.

Daftar langkah-langkah untuk membuat dan menggunakan paket diberikan di bawah ini.

LANGKAH 1: Membuat Kode

Buat kode untuk paket di dalam folder, katakan HelloWorld. Biarkan file diberi nama HelloWorld.tcl dengan kode seperti di bawah ini -

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

LANGKAH 2: Membuat Indeks Paket

Buka tclsh. Beralih ke direktori HelloWorld dan gunakan perintah pkg_mkIndex untuk membuat file indeks seperti yang ditunjukkan di bawah ini -

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

LANGKAH 3: Menambahkan Direktori ke Autopath

Gunakan perintah lappend untuk menambahkan paket ke daftar global seperti yang ditunjukkan di bawah ini -

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

LANGKAH 4: Menambahkan Paket

Selanjutnya tambahkan paket ke program menggunakan pernyataan paket membutuhkan seperti yang ditunjukkan di bawah ini -

% package require HelloWorld 1.0

LANGKAH 5: Prosedur Permintaan

Sekarang, semuanya sudah diatur, kita dapat menjalankan prosedur kita seperti yang ditunjukkan di bawah ini -

% puts [HelloWorld::MyProcedure]

Anda akan mendapatkan hasil sebagai berikut -

HelloWorld

Dua langkah pertama membuat paket. Setelah paket dibuat, Anda dapat menggunakannya di file Tcl mana pun dengan menambahkan tiga pernyataan terakhir seperti yang ditunjukkan di bawah ini -

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

Anda akan mendapatkan hasil sebagai berikut -

HelloWorld