Tcl mempunyai 2 jenis variabel scope (atau mungkin bila diterjemahkan
menjadi lingkup
).
-
- global
- global variabel dapat diakses diseluruh script, akan tetapi sebuah
prosedur/method dapat melakukan overshadow global variabel dengan
mendefinisikan variable lokal dengan nama yang sama.
-
- lokal
- lokal variabel hanya dapat diakses dalam lingkup sebuah fungsi.
bila didalam fungsi/method ingin menggunakan variabel global, maka
kita menggunakan peringah global, berikut ini adalah contoh dari
program yang menggunakan lokal dan global variabel.
set a 10
set b 20
puts "$a $b"
proc test_scope {} {
global a
set a "me good"
set b "but I feel not good"
puts "$a $b"
}
test_scope
puts "Nilai dari a sekarang : $a"
puts "Nilai dari b sekarang : $b"
hasilnya adalah sebagai berikut.
% source scope.tcl 10 20 me good but I feel not good Nilai dari a sekarang : me good Nilai dari b sekarang : 20 %
dapat dilihat pada fungsi test_scope, bahwa global variabel a, dapat
digunakan apabila kita menggunakan perintah global terlebih dahulu.
Filed under: Software Dev, tcl/tk