perintah uplevel digunakan untuk menjalankan perintah2 yang berada di
stack frame yang berbeda, stack frame telah dijelaskan di
http://inthegarage.wordpress.com/2007/06/13/tcl-upvar/,
Mungkin lebih baik langsung pada contoh
proc a {} {
set x 10
set y 20
b
}
proc b {} {
uplevel 1 {set x 20; puts "nilai dari x : $x"}
uplevel 1 {incr x 20}
uplevel 1 {puts $x}
}
dan hasilnya adalah sebagai berikut
%a nilai dari x : 20 40 % 3
contoh lain dari penggunaan uplevel adalah untuk mengkustomisasi
struktur, misalnya adalah perintah loop yang tidak terdapat pada tcl,
misalnya syntax dari loop adalah loop 1 0 {..}, maka implementasinya
adalah
proc loop {from to body} {
for {set var $from} {$var < $to} {incr var} {uplevel 1 $body}
}
perintah uplevel pada loop untuk menjalankan perintah pada body, yang
mempunyai 1 level lebih tinggi daripada perintah loop.
Filed under: Software Dev, tcl/tk