Posted to tcl by stevel at Fri Sep 04 03:56:38 GMT 2009view raw
- proc ReadCmd {v1 v2 op} {
- upvar 1 $v1 v
- if {![info exists v($v2)]} {
- after 5000 set ::$v2 1
- vwait ::$v2
- set v($v2) $v2
- }
- }
- proc WriteCmd {v1 v2 op} {
- upvar 1 $v1 v
- puts "${v1}($v2) set to $v($v2)"
- }
- array set foo {}
- trace add variable foo read ReadCmd
- trace add variable foo write WriteCmd
- puts "initial values = [array get foo]"
- after 2000 set foo(new) 10
- puts "foo(bar) = $foo(bar)"
- puts "foo(bing) = $foo(bing)"
- puts "final values = [array get foo]"